2 query's samenvoegen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2

Rens nvt

Rens nvt

21/10/2008 15:08:00
Quote Anchor link
iChris schreef op 21.10.2008 15:03:
Edit: Bij een goede server is die snelheid trouwens te verwaarlozen. Het is nog altijd MySQL, en als je niet heb genormaliseerd is het alsnog een rotzooi.

Wat nog steeds geen argument is om databasewerk af te wikkelen in PHP. Een beetje structuur, richtlijnen en principes in programmeerwerk kunnen geen kwaad... Crap in === crap out
 
PHP hulp

PHP hulp

08/01/2025 08:28:23
 
Jan Horden

Jan Horden

21/10/2008 15:16:00
Quote Anchor link
ik gebruik idd de "standaard" query's en geen left joins of group by's. Maar hoe pas ik dat dan toe op de query van Eddy?
LEFT GROUP BY u.id?
 
- -

- -

21/10/2008 15:20:00
Quote Anchor link
Nou, LEFT GROUP BY bestaat niet volgens mij. Kijk even naar de MySQL Reference @ dev.mysql.com
 
Jan Horden

Jan Horden

21/10/2008 17:02:00
Quote Anchor link
nee daar kwam ik ook achter. Maar ik krijg het dus niet voor elkaar...
Ik hoop nu dus eigenlijk dat Jan nog met een oplossing komt? of iemand met een oplossing om het via PHP op te lossen als het niet via SQL gaat...
 
Joren de Wit

Joren de Wit

21/10/2008 17:19:00
Quote Anchor link
iChris schreef op 21.10.2008 14:18:
JWaarom op SQL niveau als je het ook op PHP niveau kan doen?
Omdat dat vele malen efficienter is misschien?
Jentie schreef op 17.10.2008 20:22:
van posts alle (posts.*) en van users het type (staat er btw niet in ;) ) en dan nog eens het aantal posts per user.
Dit zijn dus twee verschillende vragen aan de database, waar je dus ook twee verschillende queries voor moet gebruiken. Dit kun je onmogelijk samenvoegen...

Alle postinformatie en usertype uit een bepaald topic:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
SELECT
  p.*,
  u.type
FROM
  posts AS p
JOIN
  users AS u
    ON u.id = p.user_id
WHERE
  p.topic_id = 1

Aantal posts per user:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
SELECT
  u.naam,
  COUNT(p.id) AS aantal
FROM
  users AS u
JOIN
  posts AS p
    ON p.user_id = u.id
GROUP BY
  u.naam

ps. Lees ook deze handleiding over het juiste gebruik van GROUP BY nog eens na. Het lijkt erop dat je nog niet helemaal door hebt wat deze functionaliteit nu precies doet.
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
 
Jan Horden

Jan Horden

21/10/2008 19:41:00
Quote Anchor link
@Blanche ik heb de handleiding gelezen maar zie niet in waar ik GROUP BY niet goed heb gebruikt. Zou je dat kunnen toelichten? Ik ben dr iig wel wat wijzer van geworden.

@iedereen dan komt nu het volgende probleem. Ik heb de volgende php code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
while($rij = mysql_fetch_array($result2)) {
    $reactie = smiley(str_replace(" ", "&nbsp;", wordwrap(str_replace("\n", "<br>", $rij["reactie"]), 90, "<br>")));
    echo("<tr>
            <td width=\"20%\" rowspan=\"2\" valign=\"top\"><font color=\"#0000FF\">"
.$rij["auteur"]. "</font><br>
            <font size=\"2\"><i>"
.$rij["type"]. "</i><br>
            Posts: #"
.$rij["aantal"]. "</font></td>");
    if($_SESSION["gnaam"] == $rij["auteur"] || isset($_SESSION["admin"])) {
        echo "<td><a href=\"edit_post.php?nr=" .$rij["nr"]. "\"><img src=\"images/edit.gif\" border=\"0\" alt=\"Edit\" align=\"right\"></a>";
    }

    else echo "<td>";
    echo "<font size=\"2\">Geplaatst op: ".$rij["datum"]."</font>";
    if(isset($rij["dt_edit"])) {
        echo "<br><font size=\"1\">Dit bericht is aangepast op " .$rij["dt_edit"]. " door " .$rij["name_edit"]. "</font></td></tr>";
    }

    else echo "</td></tr>";
    echo("<tr>
            <td valign=\"top\" width=\"80%\">"
.$reactie. "</td></tr>");
}

?>

Hier
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
Posts: #" .$rij["aantal"]. "
moet dus het aantal posts komen te staan. Hoe krijg ik die er dan in?
p.s. in $rij zitten alle reacties per topic en de user type etc alleen $rij["aantal"] bestaat dus niet aangezien die niet in dezelfde query kan.
Gewijzigd op 01/01/1970 01:00:00 door Jan Horden
 
Jan Horden

Jan Horden

23/10/2008 20:29:00
Quote Anchor link
iChris miss een idee?
 
Jan Horden

Jan Horden

11/11/2008 19:32:00
Quote Anchor link
of moet ik hier nu een aparte thread van maken in de php sectie?
 

Pagina: « vorige 1 2



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.