php msql lekérdezés eredmény klonozás

Fórumok

Sziasztok.

Van eggy lekérdezés amit mysqli_fetch array-el kilistázok. De kicsivel később ezt a lekérdezést listázni kell. a query eredmény objektumát szeretném másolni, hogy az objektum többször kiíratható legyen. hogyan?

Köszönöm

Hozzászólások

Vagy beteszed egy tömbbe ami memóriaigényes és (szerintem) igénytelen


$row=array();
while ($nah=mysqli_fetch_array($erredmeny))
{
$rows[]=$nah;

};

foreach ($rows as $row)
{
dosomething;
};

vagy ahogy én csinálnám:


while($nah=mysqli_fetch_array($eredmeny)) {

//itt megcsinálom amit meg kell
}

mysqli_data_seek ( $eredmeny , 0);


while($nah=mysqli_fetch_array($eredmeny)) {

//itt megint megcsinálom amit meg kell
}

De még mielőtt valaki beleköt nem programozóként dolgozom

Szerintem nincs így.


$conn=mysqli_connect(DB_HOST,DB_USER,DB_PASSWORD,DB_NAME);
$eredmeny=mysqli_query($conn,"select * from wp_posts limit 10");
while ($nah=mysqli_fetch_array($eredmeny)) printf( $nah["ID"]."</br>");
printf("---------<br/>");
$eredmeny2=mysqli_query($conn,"select * from wp_comments limit 10");
while ($nah=mysqli_fetch_array($eredmeny2)) printf( $nah["comment_ID"]."</br>" );
printf("---------<br/>");
mysqli_data_seek($eredmeny,0);
while ($nah=mysqli_fetch_array($eredmeny)) printf($nah["ID"]."</br>");

A harmadik while is simán, hozza az első lekérdezés eredményét (ami teljesen logikus).

#nemertemakerdest

A mysqli_query eredményét annyiszor használod fel, ahányszor akarod. A mysqli_data_seek() pedig arra a rekordra pozícionál, ahová akarod.

jó akárhányszor fel lehet használni, de akkor ez miért nem megy?

$query="mysql querym....";
$eredmeny=$kapcsolat->query($query);

while($nah=mysqli_fetch_array($eredmeny)) {

//itt megcsinálom amit meg kell 1
}

while($nah2=mysqli_fetch_array($eredmeny)) {

//itt megcsinálom amit meg kell 2
}