php en mysql geven niet gewenste output

Status
Niet open voor verdere reacties.

Ikoster

Gebruiker
Lid geworden
19 okt 2009
Berichten
144
hoi,
ik heb een vraag,
ik heb een scriptje gemaakt.
PHP:
mysql_connect("***","***","***"); 
mysql_select_db("***");
$result1 = mysql_fetch_assoc(mysql_query("SELECT COUNT(ip) AS cijfer FROM ipreg")); 
$result2 = mysql_fetch_assoc(mysql_query("SELECT SUM(x) AS cijfer FROM ipreg"));
$result3 = mysql_fetch_assoc(mysql_query("SELECT COUNT(ip) AS cijfer FROM ipreg WHERE x > '1'"));
$result4 = mysql_query("SELECT ip, x FROM ipreg WHERE x > '1' ORDER BY x");
echo'<table border="0" cellpadding="0" cellspacing="0" summary="">';
echo"<tr><td>totaal aantal verschilende bezoekers:</td><td>".$result1."</td></tr>";
echo"<tr><td>totaal aantal pagina weergave:</td><td>".$result2."</td></tr>";
echo"<tr><td>totaal aantal frequente bezoekers:</td><td>".$result3."</td></tr>";
echo"<tr><td>frequente bezoekers:</td><td></td></tr>";
while($array=mysql_fetch_array($result4)){
echo"<tr><td>".$array["ip"]."</td><td>".$array["x"]."</td></tr>";
}
echo"</table>";
de tabel bestaat uit een kolom id, ip en x
de output zou moeten zijn:

HTML:
totaal aantal verschilende bezoekers: 210
totaal aantal pagina weergave: 1002
totaal aantal frequente bezoekers: 120 
frequente bezoekers:  
89.106.161.11 10    1
128.30.52.72 10      5
83.163.24.133 11    10
maar het is:
HTML:
totaal aantal verschilende bezoekers: Array 
totaal aantal pagina weergave: Array 
totaal aantal frequente bezoekers: Array 
frequente bezoekers:  
89.106.161.11 10     1
83.163.24.133 11     10
128.30.52.72 10       5
wat moet ik aan de code veranderen om het wel de gewenste output te geven.
 
Dit is de eerste:
PHP:
echo $result1['cijfer']

De rest mag je zelf bedenken ;)
 
bedankt

heey, bedankt nu is de vraag voor de helft opgelost!:thumb:
nu nog het andere probleem.

als ik een lijst laat maken d.m.v ORDER BY wil ik dat degene met het minste aantal benden staat een het hoogste aantal boven.

nu krijg ik dit,
1
10
11
15
5
51
57
6
61
68
69

hij soorteerd allen op het eerste nummer en daarna op het tweede.
maar ik wil hem zo:
1
5
6
10
11
15
51
57

hoe moet hij gemaakt worden dat hij er zo uit ziet?
 
Wat er gebeurt is dat er niet op nummer wordt gesorteerd maar op tekst.
Dus:

- of je kolom omzetten naar een numeriek gegevenstype
- of een conversiefunctie gebruiken om om te zetten naar numeriek

Tardis
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan