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:
<?php 
$db_kapcsolat = mysqli_connect("localhost", "root", "") or die("Error: ".mysqli_error($dbc));
mysqli_select_db($db_kapcsolat, "betegforgalom") or die("Error: ".mysqli_error($dbc));

echo "szia <br>";

$query="SELECT * FROM iranyitoszamok";
$result=mysqli_query($db_kapcsolat,$query) or die(mysqli_error());

$iszam=mysqli_fetch_row($result) or die(mysqli_error());
$rowsfound = mysqli_num_rows($result); 
print_r($iszam);

echo "rowsfound".$rowsfound."<br>";
echo "sizeof:  ".sizeof($iszam);

foreach($iszam as $k => $v){
  print "<BR>".$v;
}

//for($i=0; $i<$rowsfound-1; $i++){
//echo "<p>".$iszam[$i]."</p>";
//}

?>
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

<?
function mysql_fetch_all($result) {
   while($row=mysql_fetch_array($result)) {
       $return[] = $row;
   }
   return $return;
}
?>
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:
$query="SELECT * FROM iranyitoszamok";  
$result=mysql_query($db_kapcsolat,"SELECT * FROM iranyitoszamok");  
while ($row = mysql_fetch_row($result)) {
  print implode(',', $row) ."<br />\n";
}