csv export - richtigen datensatz aus Schleife ansprechen

Prom11

Grünschnabel
Hallo,

ich hoffe auf Eure Hilfe bei folgendem Problem:

Über ein while-Schleife lass ich die Ergebnisse einer mysql-Abfrage einer Literaturdatenbank ausgeben, ala:

PHP:
$query2 = " SELECT ...";
$result2 = mysql_query($query2);
while($rs2 = mysql_fetch_object($result2))
{
$o[0] .= "<tr>";
...
Code
...
$o[0] .= "</tr>";
}

Jede Zeile gibt mir also einen Autoreneintrag, Titel, etc.
Der Nutzer hat nun die Möglichkeit per Link den Datensatz in einer csv-Datei abzuspeichern.

Das realisiere ich über folgenden Code.

PHP:
// Variable zum zusammenfassen eines Datensatzes
$test_1 = $autor." (".$jahr."): ".$titel_ger.".";
$list = array (
  array("Export:", $test_1)
);
  
$fp = fopen('export_citation.csv', 'w');				

foreach ($list as $fields) {
  fputcsv($fp, $fields);
}				
fclose($fp);	

$o[0] .= "<a href=\"export_citation.csv\">Export</a>";

Diese Funktion läuft auch grundsätzlich, das Problem - ihr werdet es sicher erraten - ist, dass bei der Nutzeraktion die schleife schon komplett durchgelaufen ist und er mir bei jedem Eintrag die Daten des letzten Datensatzes ausspuckt.

Wie muss der Code geändert werden, um die korrekten Datensatz auszugeben?

Hatte zuerst überlegt mit der while-Schleife einen Zähler $x mitlaufen zu lassen und diesen an den link zur datei anzuheften um ihn dann mit request wieder abzufragen, vermute ich hier aber auf dem Holzweg...
PHP:
$o[0] .= "<a name=\"".$x."\" id=\"".$x."\" href=\"export_citation.csv?x=".$x."\" >Export</a>";
....

Wer kann mir bitte helfen?
Vielen Dank :p
 
soll der ganze datensatz gezogen werden?

du könntes es so machen:

PHP:
if(isset($_POST['submit'])){  //Button
     $file = "datenfeed.export.csv";
      $csv = fopen($file, "a+")
      $query = mysql_query(Hier die Abfrage, die die Daten beinhalten soll);
      while($daten = mysql_fetch_array($query)){
      $eintrag =  "
'".$daten['category_id']."';'".$daten['autor']."';'".$daten['bookname']."';'".$daten['price']."'
      ";
   fwrite($csv , $eintrag)
      }
fclose($csv);
}

und der Button dazu
HTML:
<input type="submit" name="submit" value="CSV exportieren"   />
 
Zurück