Thread View: be.comp.programming
4 messages
4 total messages
Started by Dizz
Sat, 26 Jul 2003 15:48
PHP-Mysql/ tellen aantal unieke gegevens
Author: Dizz
Date: Sat, 26 Jul 2003 15:48
Date: Sat, 26 Jul 2003 15:48
50 lines
2241 bytes
2241 bytes
Ik heb een lastig probleem bij het detecteren van het aantal keer dat een
bepaalde uitslag ($pt1-$pt2) voorkomt in een tabel.
Ik heb een lusstructuur bedacht (bijgevoegd) maar die geeft niet het
gewenste resultaat. Alle mogelijke uitslagen worden door de eerste query
(result) netjes afgeleverd (via group by) maar de telling van het aantal
keer dat deze uitslag voorkomt in de tabel (result2) loopt slechts de eerste
keer goed.
Kan je 2 keer zo'n list commando geven of moet ik op ��n of ander manier dit
resetten ? Hoe moet dit dan ?
Ik heb er al uren naar gezocht maar ik raak er niet uit wijs. Voor een pro
is het waarschijnlijk poepsimpel.
Hier is de code :
<?php
$t=0;
$tot=0;
while (list($pt1, $pu1) = mysql_fetch_row($result)){
//hier loopt het volgens mij fout nadat de lus 1 keer is doorlopen
while (list($pronot, $pronou)= mysql_fetch_row($result2)){
if ($pt1==$pronot AND $pu1==$pronou){
$t++;
}
$tot++;
}
$perc=(($t/$tot)*100);
$lijnbreedte=($t*30);
echo("<tr><td>$pt1 - $pu1</td><td><img src=\"line9.gif\"
width=\"$lijnbreedte\" height=\"6\" alt=\"Percentage\" border=0> $perc %
[$t] $tot</td></tr>\n");
}
?>
Re: PHP-Mysql/ tellen aantal unieke gegevens
Author: Nicolas Barbier
Date: Sat, 26 Jul 2003 16:02
Date: Sat, 26 Jul 2003 16:02
15 lines
1655 bytes
1655 bytes
Dizz wrote:
> while (list($pt1, $pu1) = mysql_fetch_row($result)){
>
> //hier loopt het volgens mij fout nadat de lus 1 keer is doorlopen
>
> while (list($pronot, $pronou)= mysql_fetch_row($result2)){
$result2 zal "leeg" zijn nadat je er een eerste keer over hebt gelust.
Hint: kan je dit niet beter (= sneller en properder) op database-niveau
oplossen?
--
Nicolas Barbier
Re: PHP-Mysql/ tellen aantal unieke gegevens
Author: Karin van den Berg
Date: Sat, 26 Jul 2003 21:59
Date: Sat, 26 Jul 2003 21:59
65 lines
2894 bytes
2894 bytes
On Sat, 26 Jul 2003 17:48:26 +0200, "Dizz" <voetbaltepel@skynet.be>
wrote:
Je hebt zo te zien niet je complete code bijgevoegd, ik mis de queries
zowiezo.
In principe moet het geen probleem zijn zolang je de result handlers
een andere naam geeft (wat je hier lijkt te doen) en je de 2e query in
de eerste loop uitvoert. Als je de hele code kan laten zien kan ik
misschien het probleem ontdekken.
Karin
p.s. niet mailen naar hotmail adres, ik lees het niet!
>Ik heb een lastig probleem bij het detecteren van het aantal keer dat een
>bepaalde uitslag ($pt1-$pt2) voorkomt in een tabel.
>
>Ik heb een lusstructuur bedacht (bijgevoegd) maar die geeft niet het
>gewenste resultaat. Alle mogelijke uitslagen worden door de eerste query
>(result) netjes afgeleverd (via group by) maar de telling van het aantal
>keer dat deze uitslag voorkomt in de tabel (result2) loopt slechts de eerste
>keer goed.
>
>Kan je 2 keer zo'n list commando geven of moet ik op ��n of ander manier dit
>resetten ? Hoe moet dit dan ?
>
>Ik heb er al uren naar gezocht maar ik raak er niet uit wijs. Voor een pro
>is het waarschijnlijk poepsimpel.
>
>Hier is de code :
>
><?php
>
>$t=0;
>
>$tot=0;
>
>while (list($pt1, $pu1) = mysql_fetch_row($result)){
>
>//hier loopt het volgens mij fout nadat de lus 1 keer is doorlopen
>
>while (list($pronot, $pronou)= mysql_fetch_row($result2)){
>
>if ($pt1==$pronot AND $pu1==$pronou){
>
>$t++;
>
>}
>
>$tot++;
>
>}
>
>$perc=(($t/$tot)*100);
>
>$lijnbreedte=($t*30);
>
>echo("<tr><td>$pt1 - $pu1</td><td><img src=\"line9.gif\"
>width=\"$lijnbreedte\" height=\"6\" alt=\"Percentage\" border=0> $perc %
>[$t] $tot</td></tr>\n");
>
>}
>
>?>
>
>
Re: PHP-Mysql/ tellen aantal unieke gegevens
Author: Dizz
Date: Sun, 27 Jul 2003 09:05
Date: Sun, 27 Jul 2003 09:05
36 lines
1890 bytes
1890 bytes
Ik heb het toch in orde gekregen en dit is de code die werkt :
Of dit echt goede code is of dat er betere manieren zijn weet ik niet maar
het werkt wel.
<?php
$t=0;
$tot = mysql_num_rows($result);
while (list($pt1, $pu1) = mysql_fetch_row($result)){
while (list($pronot, $pronou)= mysql_fetch_row($result2)){
if ($pt1==$pronot AND $pu1==$pronou){
$t++;
}
}
$perc=round((($t/$tot)*100),2);
$lijnbreedte=($t*30);
echo("<tr><td>$pt1 - $pu1</td><td><img src=\"line9.gif\"
width=\"$lijnbreedte\" height=\"6\" alt=\"Percentage\" border=0> $perc %
[$t] $tot</td></tr>\n");
$result2 = mysql_query($query2) or die (mysql_error());
$t=0;
}
?>
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads