Model 3 LR AWD Solid Black / Black / Aero / Trekhaak - Bestelling 2-10 Leaseplan, 4-10 Tesla, RN 22-09, Nieuwe RN 25-11, VIN Yes, leverdatum: ?/?/19(?)
Op het eerste zicht lijkt er niets fout met uw code, maar post eens de lay-out van de tabel(len), dat zou al wat makkelijker moetn zijn om de fout te zien.
https://fgheysels.github.io/
1
2
3
4
| while ($list = mysql_fetch_object($sql))
{
echo "$sql<br><br>";
} |
Zou je $list ook niet echo'en
Nee ik zet de reacties in een aparte tabel. Zelfs in een hele andere database.Op dinsdag 08 januari 2002 09:19 schreef whoami het volgende:
Je zet de topics en de reacties daarop in dezelfde tabel? Zou ik niet doen.
Op het eerste zicht lijkt er niets fout met uw code, maar post eens de lay-out van de tabel(len), dat zou al wat makkelijker moetn zijn om de fout te zien.
Model 3 LR AWD Solid Black / Black / Aero / Trekhaak - Bestelling 2-10 Leaseplan, 4-10 Tesla, RN 22-09, Nieuwe RN 25-11, VIN Yes, leverdatum: ?/?/19(?)
Ja dat kan maar dan krijg ik geen count te zien maar gewoon welke art_id in die tabel staan.Op dinsdag 08 januari 2002 09:22 schreef Glimi_ie het volgende:
code:
1 2 3 4while ($list = mysql_fetch_object($sql)) { echo "$sql<br><br>"; }
Zou je $list ook niet echo'en
Model 3 LR AWD Solid Black / Black / Aero / Trekhaak - Bestelling 2-10 Leaseplan, 4-10 Tesla, RN 22-09, Nieuwe RN 25-11, VIN Yes, leverdatum: ?/?/19(?)
Tabellen:
artikelen(id,tekst,titel,...)
reacties(id,art_id,tekst,user,...)
SELECT artikelen.*, count(reacties.id)
FROM artikelen,reacties
WHERE artikelen.id = reacties.art_id
Localhost, sweet localhost
Wel een beetje overdreven he, in een andere db zetten.Op dinsdag 08 januari 2002 09:26 schreef Rembrand20 het volgende:
[..]
Nee ik zet de reacties in een aparte tabel. Zelfs in een hele andere database.
Wat krijg je precies als foutmelding? Of krijg je geen fout maar verkeerde output? en wat krijg je dan als output en wat moet je krijgen?
https://fgheysels.github.io/
Je zult er nog een GROUP BY moeten bijzetten.Op dinsdag 08 januari 2002 09:27 schreef kvdveer het volgende:
mooi voorbeeldje zoals het eigenlijk hoort....
Tabellen:
artikelen(id,tekst,titel,...)
reacties(id,art_id,tekst,user,...)
SELECT artikelen.*, count(reacties.id)
FROM artikelen,reacties
WHERE artikelen.id = reacties.art_id
https://fgheysels.github.io/
Als je $sql echo't zal hij de het aantal rijen in de resultset laten zien, en dat is niet wat je wiltOp dinsdag 08 januari 2002 09:26 schreef Rembrand20 het volgende:
Ja dat kan maar dan krijg ik geen count te zien maar gewoon welke art_id in die tabel staan.
Aangezien je een object binnen haalt moet je die ook wel aanspreken op de rows
1
2
3
4
5
6
7
8
9
| <? //FF AS aantal erbij om het simpeler te maken //aantal is een alias $sql = mysql_query("SELECT art_id, COUNT(*) as aantal FROM tabel GROUP BY art_id"); while ($list = mysql_fetch_object($sql)) { echo "$list->art_id<br>$list->aantal<br>"; } ?> |
[edit]code->php
Dit heb ik ookOp dinsdag 08 januari 2002 09:27 schreef kvdveer het volgende:
mooi voorbeeldje zoals het eigenlijk hoort....
Tabellen:
artikelen(id,tekst,titel,...)
reacties(id,art_id,tekst,user,...)
Model 3 LR AWD Solid Black / Black / Aero / Trekhaak - Bestelling 2-10 Leaseplan, 4-10 Tesla, RN 22-09, Nieuwe RN 25-11, VIN Yes, leverdatum: ?/?/19(?)
je count(* ) vervangen door count(id) zou wat uit moeten maken... misschien...
bovendien kun je je resultaat niet makkelijk opvragen met fetch_object als je het geen alias meegeeft...
1
2
3
4
5
6
7
8
9
10
11
12
| <? mysql_connect("host","user","pass"); mysql_select_db("database"); $sql = mysql_query( "SELECT art_id, COUNT(id) as aantal FROM tabel GROUP BY art_id"); while ($list = mysql_fetch_object($sql)) { echo "<b>$list->art_id</b><br>$list->aantal <br>"; } ?> |
leesbaarheid v. code
Localhost, sweet localhost
Nou dat niet, aangezien er al gegroupt wordt. Dit wordt eerst uitgevoerd namelijk. (select altijd als laatste)Op dinsdag 08 januari 2002 09:32 schreef kvdveer het volgende:
[knip]
je count(* ) vervangen door count(id) zou wat uit moeten maken... misschien...
bovendien kun je je resultaat niet makkelijk opvragen met fetch_object als je het geen alias meegeeft...
Hij laat alleen maar de waarde zien die in de tabel staat.
En ik wil juist dat hij de art_id optelt dus als er 5 art_id's staan die 117 zijn wil ik achter mijn nieuws subject (5) hebben staan. Maar dat stomme ding wil niet tellen. okay hij is het niet maar ik ben het
Model 3 LR AWD Solid Black / Black / Aero / Trekhaak - Bestelling 2-10 Leaseplan, 4-10 Tesla, RN 22-09, Nieuwe RN 25-11, VIN Yes, leverdatum: ?/?/19(?)
Maar je zegt dat uw tabel met reacties in een andere db staat. Je moet dan natuurlijk ook een connectie leggen met die databank en in uw sql zul je het volgende moeten doen:Op dinsdag 08 januari 2002 09:38 schreef Rembrand20 het volgende:
Heel simpel hij telt niet zoals hij zou moeten doen.
Hij laat alleen maar de waarde zien die in de tabel staat.
En ik wil juist dat hij de art_id optelt dus als er 5 art_id's staan die 117 zijn wil ik achter mijn nieuws subject (5) hebben staan. Maar dat stomme ding wil niet tellen. okay hij is het niet maar ik ben het
1
2
3
4
| SELECT databank1.topics.Id, COUNT(databank2.replies.id) FROM databank1.topics, databank2.replies WHERE databank1.topics.id = databank2.replies.id GROUP BY databank1.topics.id |
ofzo.
https://fgheysels.github.io/
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| <? /* link Ophalen uit de database */ 89 $li = mysql_connect("host" , "user" , "pass" ); 90 $result = mysql_select_db("reactie_system", $li ); 91 $result = mysql_query("SELECT art_id, nfss.news.id, COUNT(*) FROM reactions, nfss.news WHERE nfss.news.id = art_id GROUP BY art_id", $li ); 92 93 $total = mysql_num_rows($result); 94 95 while ($row=mysql_fetch_array($result)) 96 { 97 $aantal="$row[art_id]"; 98 echo "$aantal"; 99 } ?> |
Zou dit kunnen werken
Model 3 LR AWD Solid Black / Black / Aero / Trekhaak - Bestelling 2-10 Leaseplan, 4-10 Tesla, RN 22-09, Nieuwe RN 25-11, VIN Yes, leverdatum: ?/?/19(?)
https://fgheysels.github.io/
1
2
3
4
5
6
7
8
9
10
11
12
13
| /* link Ophalen uit de database */
89 $li = mysql_connect("localhost" , "root" , "" );
90 $result = mysql_select_db("reactie_system", $li );
91 $result = mysql_query("SELECT art_id, nfss.news.id, COUNT(*) FROM reactions, nfss.news WHERE
nfss.news.id = art_id GROUP BY art_id", $li );
92
93 $total = mysql_num_rows($result);
94
95 while ($row=mysql_fetch_array($result))
96 {
97 $aantal="$row[art_id]";
98 echo "$aantal";
99 } |
Model 3 LR AWD Solid Black / Black / Aero / Trekhaak - Bestelling 2-10 Leaseplan, 4-10 Tesla, RN 22-09, Nieuwe RN 25-11, VIN Yes, leverdatum: ?/?/19(?)
https://fgheysels.github.io/
Dat zou kunnen maar ik vraag me af hoe ik dat oet doen danOp dinsdag 08 januari 2002 10:59 schreef whoami het volgende:
Dat zou wel eens kunnen werken. Proberen zou ik zeggen, maar ik vraag me af of je geen connectie moet leggen naar die andere db : nfss.
Model 3 LR AWD Solid Black / Black / Aero / Trekhaak - Bestelling 2-10 Leaseplan, 4-10 Tesla, RN 22-09, Nieuwe RN 25-11, VIN Yes, leverdatum: ?/?/19(?)
Waarom zet je die 2 tabellen eigenlijk niet in dezelfde databank?
https://fgheysels.github.io/
Model 3 LR AWD Solid Black / Black / Aero / Trekhaak - Bestelling 2-10 Leaseplan, 4-10 Tesla, RN 22-09, Nieuwe RN 25-11, VIN Yes, leverdatum: ?/?/19(?)
https://fgheysels.github.io/
Dit heeft als voordeel dat het in grote tabellen meer dan 500% sneller is dan een requery.
Hint : Niet doen dus
maar nu moet hetwel werken.
dus ik ga het even proberen
Model 3 LR AWD Solid Black / Black / Aero / Trekhaak - Bestelling 2-10 Leaseplan, 4-10 Tesla, RN 22-09, Nieuwe RN 25-11, VIN Yes, leverdatum: ?/?/19(?)
De kolommen uit de select waar je niet op groupeerd, moeten allemaal in de group by staan.Op dinsdag 08 januari 2002 10:40 schreef Rembrand20 het volgende:
code:
1 2 3 4 5 6 7 8 9 10 11 12 13/* link Ophalen uit de database */ 89 $li = mysql_connect("localhost" , "root" , "" ); 90 $result = mysql_select_db("reactie_system", $li ); 91 $result = mysql_query("SELECT art_id, nfss.news.id, COUNT(*) FROM reactions, nfss.news WHERE nfss.news.id = art_id GROUP BY art_id", $li ); 92 93 $total = mysql_num_rows($result); 94 95 while ($row=mysql_fetch_array($result)) 96 { 97 $aantal="$row[art_id]"; 98 echo "$aantal"; 99 }
Je joint met reactions, maar dit is niet nodig, je kan de select ook op alleen je news tabel doen:
1
2
3
4
| SELECT id
,COUNT(*)
FROM news
GROUP BY id |