Jo: Datenbankschleife 2mal

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

  1. 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.

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

      1. 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.

        1. jau, danke das wars:
          pg_result_seek($result1,0);