login  Naam:   Wachtwoord: 
Registreer je!
 Forum

query opstellen (Opgelost)

Offline kickasgamer - 01/08/2008 10:10
Avatar van kickasgamerPHP ver gevorderde ik heb nu een query die alle PM's teltuit de DB waar je zender of als ontvanger van bent, maar nu wil ik er 2 dingen bijvoegen. dus ik wil alle PM's tellen waar jij zender of ontvanger van bent en alle pm's waar bij show_inbox 1 staat en bij show_verzonden ook 1 staat (wel alleen bij die PM's waar jou id bij verzonden of ontvangen staat)

dit is de query nu maar die telt even goed ook de PM's waar bij show_inbox en show_verzonden 0 staat

  1. $query = "SELECT count(*) FROM priveberichten WHERE ontvanger='".$_SESSION['user_info']['id']."' OR zender='".$_SESSION['user_info']['id']."' AND show_inbox='1' OR show_verzonden='1'";

8 antwoorden

Gesponsorde links
Offline kenzo - 01/08/2008 10:45
Avatar van kenzo PHP beginner je moet dan ook met haakjes werken.

  1. $query = "SELECT count(*) FROM priveberichten WHERE (ontvanger='".$_SESSION['user_info']['id']."' OR zender='".$_SESSION['user_info']['id']."') AND (show_inbox='1' OR show_verzonden='1')";
Offline kickasgamer - 01/08/2008 10:47
Avatar van kickasgamer PHP ver gevorderde ah ok, dat wist ik niet. ik zal het eens proberen alvast bedankt ;)
Offline kenzo - 01/08/2008 10:55
Avatar van kenzo PHP beginner maar wil je in een query (dus in een resultaat) laten tellen waar

1: Jij ontvanger van bent
2: show_inbox = 1
3: show_verzonden = 1

(die alle drie samen?)

want dan moet je niet met or werken, maar met and
Offline kickasgamer - 01/08/2008 10:59
Avatar van kickasgamer PHP ver gevorderde ja kijk ik tellen alles PM4s waar jij ofwel zender bent of wel ontvanger + moet dan gekeken worden bij zender en ontvanger of ze wel getoont mogen worden (als 1 staat bij show_inbox worden getoont in de inbox en staat er 1 bij show_verzonden dan worden ze getoont bij verzonden) als er nu staat is die PM verwijderd uit de inbox of verzonden items

dus staat jij bij de zender dan wordt gekeken als show_verzonden nog op 1 staat zo nee niet tellen, en st jij bij ontvanger dan moet gekeken worden als bij show_inbox 1 staat anders de PM niet tellen
Offline kenzo - 01/08/2008 11:14
Avatar van kenzo PHP beginner kun je het nog eens stap voor stap uitleggen aub...

ik snap het niet helemaal
Offline kickasgamer - 01/08/2008 13:10
Avatar van kickasgamer PHP ver gevorderde jakijk ik tel alle PM's om een status balk weer te geven (hoeveel plaats je nog hebt tot de maximum aantal pm's)

dus wil ik alle persoonlijke pm's tellen, dus alle pm's waarbij ($_SESSION['user_info']['id']) het zenderid en ontvanger id gelijk is aan die sessie (dan heb ik zijn pm's)

maar ik heb een systeem waar als je een PM "verwijderd" dat dan in de DB show_inbox op 0 wordt gezet (als je een pm in je inbox verwijderd) en show_verzonden op 0 (als je een PM verwijderd uit je verzonden map)

dus wil alle pm's van 1 persoon tellen (via die sessie id) maar als show_inbox of show_verzonden op 0 staat mogen die niet mee getelt worden omdat die dan zogezegt verwijderd zijn

is het al iets duidelijker ? 
Offline Squid - 01/08/2008 23:15 (laatste wijziging 01/08/2008 23:15)
Avatar van Squid Nieuw lid het is heel makkelijk als je bekent bent met he tellen systeem van PHP. Als jij count(*) gebruikt dan is het handiger om AND te gebruiken, als jij OR gebruik dan is het OF die OF dat, als jij AND gebruikt dan count jij dus EN jij EN hem EN haar, snap je...
Tis alleen lastig, want als jij eerst kijkt naar selecteer je show_inbox en dan if($show_inbox != 0) dan door gaan. met het tellen van de inbox berichten.
ik zal je een voorbeeld geven:
  1. $q = "SELECT show_inbox FROM pm WHERE id='"$_SESSION['id']"'";
  2. $r = mysql_query($q);
  3. if ($r != 0){
  4. $qu = "SELECT count(*) FROM priveberichten WHERE ontvanger='".$_SESSION['user_info']['id']."'"'
  5. $re = mysql_query($qu);
  6. }


en dan na alles.
$all = $re + $res + resu;

en dan is alles $all 

Misschien een omweg, maar zeker dat dat gaat werken 
Offline kickasgamer - 02/08/2008 12:41 (laatste wijziging 02/08/2008 13:57)
Avatar van kickasgamer PHP ver gevorderde ik ga het nu zo eens proberen, maar als er een mogelijkheid is om het in 1 query te doen zeg het dan zeker 

EDIT: tis nu gelukt door 2 queries te gebruiken 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.22s