[PHP]count array?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb de volgende code geschrevn alleen dan wel wat uitgebreider maar in de essentie gaat het om dit stukje. Ik moet namelijk weten hoeveel waardes $tijdelijk bevat. zoals ik het nu heb geeft hij me altijd als waarde "1" terug. Terwijl er wel degelijk meerdere resultaten gevonden worden als ik met fetch array de waardes eruit haal. Ik maak ergens een denkfout met deze count... hoop dat iemand mijn fout ziet...


PHP:
1
2
3
4
5
6
7
8
9
10
<?php
$link = mysql_connect("login", "pw", "bla");
        if (!$link) die ("Could not connect");
        mysql_select_db("preadict_sys");
    
    $waarde="niks";
    $tijdelijk = (mysql_query("SELECT S.SCHOOLNAAM_WEERGAVE,S.PLAATSNAAM,S.POSTCODE,S.TEL_NR_ALG FROM KLANTEN S WHERE S.PROVINCIE LIKE \"%$waarde%\""));

print count($tijdelijk);
?>

Acties:
  • 0 Henk 'm!

  • R_W
  • Registratie: Oktober 2002
  • Niet online

R_W

$tijdelijk bevat nu een pointer naar je mysql result, je kunt met de SQL functie COUNT() aan de slag en dan je resultaat fetchen.

Acties:
  • 0 Henk 'm!

  • py.mosjuh
  • Registratie: Oktober 2002
  • Laatst online: 24-10-2022

py.mosjuh

fikkert.net

waarom doe je niet:

code:
1
2
$num    = mysql_numrows(mysql_query($tijdelijk));
print('klaar is Griffen');

Kites rise highest against the wind - not with it (Winston Churcill)


Acties:
  • 0 Henk 'm!

Verwijderd

Of beter:

PHP:
1
2
3
4
5
6
7
8
9
10
$link = mysql_connect("login", "pw", "bla") or die ("Could not connect");
mysql_select_db("preadict_sys"); 

$waarde = "niks";
$query  = "SELECT S.SCHOOLNAAM_WEERGAVE,S.PLAATSNAAM,S.POSTCODE,S.TEL_NR_ALG FROM KLANTEN S WHERE S.PROVINCIE LIKE '%".$waarde."%'";
$result = mysql_query($query,$link);

$num_rows = mysql_num_rows($result);

print $num_rows;


Als je de boel wat meer in variabelen zet (don't overdo it) dan kan je de boel hergebruiken waar nodig. De SQL in een variabele zetten kan handig zijn bij het debuggen bijv. En je MySQL result in een variabele is weer handig om de result door meerdere functies te kunnen halen, zoals bijv. (doorgaand op voorgaande code):

PHP:
1
2
3
4
5
6
7
8
// Checken of er meer dan 0 result rows zijn
if ($num_rows > 0) {
  while ($data = mysql_fetch_assoc($result)) {
    $scholen[] = $data;
  }
} else {
  $scholen = array();
}


Zie trouwens de functie mysql_num_rows() voor referentie.

[ Voor 23% gewijzigd door Verwijderd op 08-01-2004 10:33 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
py.mosjuh schreef op 08 januari 2004 @ 10:20:
waarom doe je niet:

code:
1
2
$num    = mysql_numrows(mysql_query($tijdelijk));
print('klaar is Griffen');
Precies wat ik zocht perfect dankjewel!