Datenbankschleife 2mal
Jo
- php
Hallo,
ich lerne zur Zeit den Umgang von PHP mit Datenbanken, dabei will ich mich näher mit PostgreSQL beschäftigen.
Ich möchte in einer Schleife einen Datensatz in einem Dokument 2mal hintereinander durchlaufen lassen, der erste Durchlauf funktioniert, nur beim 2ten mit demselben Abfrageergebnis ($result1) will's nicht gehen:
//db-Verbindungsdaten
include("Connections/db_connection.php");
$sqlString1 = "SELECT objekt_id FROM import.meinetabelle;";
$result1 = pg_query($dbconn , $sqlString1) or die('Connection failed: ' . pg_last_error());
if (!$result1) {
echo "Ein Fehler mit result1 aufgetreten.\n";
exit;
}
else{
//Anzahl der Datensätze
$rec_num1 = pg_num_rows($result1);
echo "<br />Ergebnis result1: <strong>".$rec_num1."</strong><br />";
}
//Datenbankschleife1
while ($row1 = pg_fetch_assoc($result1)) {
echo $row1['objekt_id']." [Schleife 1]<br />";
} // Ende Datenbankschleife
//Datenbankschleife2
while ($row2 = pg_fetch_assoc($result1)) {
echo $row2['objekt_id']." [Schleife 2]<br />";
} // Ende Datenbankschleife
//Datenbanken schließen
pg_close($dbconn);
Was mache ich falsch?
Gruß
Jo
Was mache ich falsch?
Wenn ich das richtig sehe: $row1 = pg_fetch_assoc($result1) manipuliert bereits den Zeiger, dann gibts für $row1 = pg_fetch_assoc($result1) nichts mehr zum Durchlaufen.
Wenn ich das richtig sehe: $row1 = pg_fetch_assoc($result1) manipuliert bereits den Zeiger, dann gibts für $row1 = pg_fetch_assoc($result1) nichts mehr zum Durchlaufen.
danke, nur wie setze ich den Zeiger wieder zurück? Oder muß ich in so einem Fall nochmal eine erneute Abfrage starten?
danke, nur wie setze ich den Zeiger wieder zurück? Oder muß ich in so einem Fall nochmal eine erneute Abfrage starten?
pq_fetch_assoc() hat noch einen 2. Parameter
Sonst sieht pq_result_seek() auch nicht schlecht aus.
jau, danke das wars:
pg_result_seek($result1,0);