Softwareentwicklung & Webdesign 
EDV Dienstleistungen für KMU        
 



Halbvoll.net- Singlebörse für alleinerziehende Mütter und Väter aus Deutschland, Österreich, Schweiz und Liechtenstein
www.halbvoll.net
 
Gebrauchtwagen Suchmaschine Österreich
Diskontweb.net
 
Alleinerzieher.net - Forum für Alleinerziehende
Diskontweb.net
 
Freizeit-mit-Kind.net - Freizeitaktivitäten für Eltern und Kinder (Deutschland)
Freizeit mit Kind
 
Softworker.at
Projekte für Freelancer
Softworker.at - Projekte für Freelancer
 
Druckauftrag.at - Druckereiaufträge ausschreiben und den billigsten Anbieter finden.
Druckauftrag.at
 
Seminarpool - Das Österreichische Verzeichnis für Seminare, Trainer, Coaches und Referenten
 

 

Weniger Schreibarbeit mit SQL Abfragen

von Wolfgang Arnberger

Um das Ergebnis einer SELECT Abfrage in Variable zu schreiben, können Sie folgendermaßen vorgehen:

<?php
  $result 
mysql_query("SELECT * FROM tabelle WHERE bedingung");
  while(
$row mysql_fetch_array($result)) {
  
// Ergebnis in Variable schreiben
  
$feld1 $row["feld1"];
  
$feld2 $row["feld2"];
  
$feld3 $row["feld3"]; // u.s.w.
  // Daten anzeigen
  
echo $feld1.", ".$feld2.", ".$feld3."<BR>";

  }
?>

Diese Vorgangsweise führt zu erheblicher Schreibarbeit. Immer wieder schreibt man Code wie "$feld = $row["feld"];". Besonders bei längeren Feldlisten ist das lästig.

Alternativ kann man so vorgehen:

<?php
  $result 
mysql_query("SELECT * FROM tabelle WHERE bedingung");
  while(
$row mysql_fetch_array($result)) {
  
// Anzahl der Felder ermitteln
  
$j mysql_num_fields($result);
  for(
$i=0;$i<$j;$i++) {
    
// Name des aktuellen Feldes ermitteln
    
$k mysql_field_name($result,$i);
    
// Dem Feldnamen einen Wert zuweisen
    
$$k $row[$k];
    }
// Daten anzeigen
  
echo $feld1.", ".$feld2.", ".feld3."<BR>";

  }
?>

Diesen Code muß man nur mehr in das Script kopieren, die SQL-Abfrage eintragen und kann sich die ganze Schreibarbeit mit "$feld = $row["feld"];" ersparen.

In der Variablen $j wird die Anzahl der Felder gespeichert. Anschließend wird mit der for-Schleife jedes Feld angesprochen. Dabei wird der Name des jeweiligen Feldes in $k gespeichert.

Man kann jetzt natürlich nicht der Variablen $k den Wert aus $row[...] zuweisen, da man damit den Namen des Feldes überschreiben würde. Um den Inhalt der Variablen $k als Variablennamen zu verwenden und diesem Inhalt einen Wert zuzuweisen, schreibt man $$k = $row[...]. Damit wird nicht die Variable $k sondern der Inhalt der Variablen $k angesprochen.

© IT-Studio.net - Alle Rechte vorbehalten
 
 Home   Leistungen   Referenzen   Artikel   ECG   AGB   Kontakt   Impressum