Page 2 of 2 First 12
  1. #16
    EdMeister's Avatar
    Registered
    17/08/02
    Location
    Gent
    Posts
    1,402
    iTrader
    31 (100%)
    Mentioned
    0 Post(s)
    Reputation
    0/0
    Zet eens het volgende achter uw sql-query:
    PHP Code:
    $result=mysql_db_query($database,$sql,$db) or die(mysql_error()); 
    Dan zie je direct waar de fout zit in je query.

    En btw, nu ik eens vluchtig naar uw query kijk:
    Moet "FROM nieuws AS n nieuws_reac AS nr" niet "FROM nieuws n, nieuws_reac nr" zijn?
    Sir, we are surrounded! Excellent, we can attack in any direction.
    no votes  

  2. #17

    Registered
    18/11/02
    Location
    Eke, België
    Posts
    2,448
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0
    Jama zeg, en dervoor schrijft ge het wel met een komma
    no votes  

  3. #18
    Le Preinz's Avatar
    Registered
    20/08/02
    Location
    A'pen-Wijnegem
    Posts
    474
    iTrader
    0
    Mentioned
    0 Post(s)
    Hier zat de fout:
    nr.nieuws_reac

    table.table is nogal stom. Dus heb ik het veranderd in nr.numba (elke table heeft die numba rij bij mij)

    Maar de query zoals hij nu opgebouwd geeft wel een resultaat maar niet het resultaat dat ik wens.

    Van de ene table nieuws zou ik van de laatste 20 rijen de velden titel, bericht, poster, datum en numba opvragen.

    En dan voor elke bericht van nieuws het aantal rijen opvragen waarin het veld numba_in van table nieuws_reac gelijk is aan de numba van het bericht uit nieuws.

    merci al voor de hulp
    mouseover.be~Arty, Farty, Techy, Daily
    no votes  

  4. #19
    zero2one's Avatar
    Registered
    06/09/02
    Location
    Oudenaarde
    Posts
    125
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0
    en waarom die for lus, omdat ik toen het bestaan nog niet wist van die LIMIT 20
    Dit is basiskenis SQL, ik raad u aan om ergens een basiscursus SQL op de kop te tikken, dat zal u al veel kopzorgen besparen. Ik vermoed dan ook dat uw database layout ook niet echt geoptimaliseerd zal zijn. Weet dat de eerste stap om een scrip vlot te laten werken een snelle en goed geïndexeerde databaselayout + zo weinig mogelijk query's vraagt !!

    draai uw query eens in phpmyadmin dan krijgt ge direct wat extra info waar ongeveer uw query fout zit.

    ik vermoed dat er ergens een kolomnaam verkeerd staat of zo

    Gebruik voor de LIMIT de juistere syntax: LIMIT 0,20 (start op 0 en toon 20 records) ik weet het de 2 werken maar dit is duidelijker

    en leer werken met INNER JOIN:

    PHP Code:
    SELECT
        n
    .numba,
        
    n.titel,
        
    n.bericht,
        
    n.poster,
        
    n.datum,
        
    nr.numba_in,
        
    nr.nieuws_reac

    FROM
        nieuws n
        INNER JOIN nieuws_reac nr ON 
    (n.numba nr.numba_in)
        
    ORDER BY
        n
    .numba DESC

    LIMIT 0
    ,20 
    - the artist is living in the mirror whit the echoes of himself -
    - www.serial-graphics.be/sg2 -
    no votes  

  5. #20

    Registered
    18/11/02
    Location
    Eke, België
    Posts
    2,448
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0
    Enneuh, eigenlijk is LEFT JOIN toch beter geschikt, want nu worden de nieuwsberichten die geen commentaar hebben niet afgebeeld.
    no votes  

  6. #21

    Registered
    12/10/02
    Location
    mars
    Posts
    14,319
    iTrader
    2 (100%)
    Mentioned
    0 Post(s)
    Reputation
    0/0
    Quote Originally Posted by [Scratch]
    This quote is hidden because you are ignoring this member. Show
    "AS" hoeft niet als je een alias gebruik voor een table name, dat hoeft enkel bij column names
    das in mysql ook niet nodig bij collumn names bij mijn weten. (of toch niet van een bep. versie)

    aan zero2one zijn sql-code is de join wel fout, je voegt hier nl. geen tabellen samen, maar je voegt de data uit de comments-tabel toe aan de nieuws-tabel: LEFT JOIN dus .
    no votes  

  7. #22
    zero2one's Avatar
    Registered
    06/09/02
    Location
    Oudenaarde
    Posts
    125
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0
    LEFT JOIN dus .
    en ge hebt gelijk, effe over hoofd gezien

    en als LP dan zijn code goed schrijft heeft hem maar 1 query nodig ipv 20:

    PHP Code:
    SELECT
        count
    (nr.numba) AS aantal_reacties,
        
    n.numba,
        
    n.titel,
        
    n.bericht,
        
    n.poster,
        
    n.datum

    FROM
        nieuws n
        LEFT JOIN nieuws_reac nr ON 
    (n.numba nr.numba_in)

    GROUP BY n.numba
        
    ORDER BY
        n
    .numba DESC

    LIMIT 0
    ,20 
    Last edited by zero2one; 01-09-2004 at 14:25.
    - the artist is living in the mirror whit the echoes of himself -
    - www.serial-graphics.be/sg2 -
    no votes  

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Log in

Log in