ugrás a tartalomhoz

tömbelemek kiíratása - sizeof& mysqli_num_rows

HPeti · 2009. Júl. 24. (P), 12.29
A következő problémával állok szemben, mysqli_num_rows azt mutatja, hogy 2200eleme van. Viszont sizeof-al csak 1-et mutat!tehát a nulladik elemet ki is tudom iratni, viszont a többit nem...itt a forráskód: http://pastebin.com/m2f773816.. azt hogy tudom amúgy tudom ide bemásolni?:)
 
1

Először is az eredeti

Poetro · 2009. Júl. 24. (P), 13.02
Először is az eredeti kód:
  1. <?php   
  2. $db_kapcsolat = mysqli_connect("localhost""root"""or die("Error: ".mysqli_error($dbc));  
  3. mysqli_select_db($db_kapcsolat"betegforgalom"or die("Error: ".mysqli_error($dbc));  
  4.   
  5. echo "szia <br>";  
  6.   
  7. $query="SELECT * FROM iranyitoszamok";  
  8. $result=mysqli_query($db_kapcsolat,$queryor die(mysqli_error());  
  9.   
  10. $iszam=mysqli_fetch_row($resultor die(mysqli_error());  
  11. $rowsfound = mysqli_num_rows($result);   
  12. print_r($iszam);  
  13.   
  14. echo "rowsfound".$rowsfound."<br>";  
  15. echo "sizeof:  ".sizeof($iszam);  
  16.   
  17. foreach($iszam as $k => $v){  
  18.   print "<BR>".$v;  
  19. }  
  20.   
  21. //for($i=0; $i<$rowsfound-1; $i++){  
  22. //echo "<p>".$iszam[$i]."</p>";  
  23. //}  
  24.   
  25. ?>  
A mysql_num_rows visszaadja, hogy a lekérdezésnek összesen hány sor felelt meg. A mysql_fetch_row pedig kivesz közülük egyetlen sort, aminek esetedben történetesen egy eleme van.
2

mysql_fetch_row-al hogy tudom a sor összes elemét kivenni?

HPeti · 2009. Júl. 24. (P), 13.32
Szóval a mysql_num_rows visszaadja, hogy a lekérdezésnek összesen 2200 eredménye van, ami igaz is. Akkor hogy lehetne megoldani, hogy a mysql_fetch_row kivegye az összes elemet és elérni?azt hittem, hogy a mysql_fetch_row kiveszi az összeset...hogy tudnám ezt elérni?
3

ciklus mond valamit?

gex · 2009. Júl. 24. (P), 14.31
  1. <?  
  2. function mysql_fetch_all($result) {  
  3.    while($row=mysql_fetch_array($result)) {  
  4.        $return[] = $row;  
  5.    }  
  6.    return $return;  
  7. }  
  8. ?>  
innen
5

nem ez a gondom

HPeti · 2009. Júl. 24. (P), 14.49
az a probléma, hogy csak a tömb nulladik elemét tudom kiiratni, echoval sem tudom kiírni a tömb pl.harmadik elemét a ..pedig a lekérdezésnek 2200 rekordja van, amit mysql_num_rows ki is jelez..ha megnézed a belinkelt kódot, annak sztem működnie kéne és a mysqlfetcharray-el nem csak az első elemet kéne átadnia változónak,hanem az összeset..
4

más a gond

HPeti · 2009. Júl. 24. (P), 14.46
az a probléma, hogy csak a tömb nulladik elemét tudom kiiratni, echoval sem tudom kiírni a 3. elemét a tömbnek..pedig a lekérdezésnek 2200 rekordja van, amit mysql_num_rows ki is jelez..
6

Tömb

Poetro · 2009. Júl. 24. (P), 14.59
Itt mire gondolsz tömb alatt?
A keresés ereményeit soronként tudod megkapni. Egy sor, egy tömb. Ha neked az összes sor kell, akkor lásd a while ciklust amit gex megadott. A while ciklus minden egyes futásával kivesz egy sort (egy tömböt) a keresés eredményéből, majd azokat berakja egy tömbbe, ami által egy tömböket tartalmazó tömb születik. Azokat pedig sokféleképpen ki tudod írni.
például:
  1. $query="SELECT * FROM iranyitoszamok";    
  2. $result=mysql_query($db_kapcsolat,"SELECT * FROM iranyitoszamok");    
  3. while ($row = mysql_fetch_row($result)) {  
  4.   print implode(','$row) ."<br />\n";  
  5. }