Antworten auf deine Fragen:
Neues Thema erstellen

Zend: Datenbank SELECT ausgeben

Hey, ich muss mit Zend Framework eine Datenbank auslesen und die Einträge der Tabelle ausgeben. Bis zu dem sinngleichen mysql_fetch_array komme ich ja schon:

PHP:
$select = $db->select()
       ->from('mm_user', 'email'); // from(from, select);
   $stmt = $select->query(); // Benötigt Zend_Db_Statement  
   $result = $stmt->fetchAll();

Kann ich anschließend denn dann wie mit der gewohnten Methode $result nacheinander ausgeben lassen oder gibt es dafür von dem Framework ebenfalls einen Befehl, der dafür zuständig ist?

PHP:
while($result = $stmt->fetchAll())
   {
    echo $result[0];
   }

Ne Mischung aus Zend und MySQL geht nicht, habe ich schon ausprobiert. *in Deckung geh* ^^
 

saila

Moderatorle

AW: Zend: Datenbank SELECT ausgeben

Hi,

das kommt daraf an, welche DB du hast. Wenn du dir nicht sicher bist, kannst du dir ja die Klassen-Methoden anzeigen lassen. Darunter wirst du auch sicherlich fetchAll() finden oder fetchObject(). Je nach dem was du benötigst.

Bei Zend würde ich dir mal das Manual empfehlen. Da gibt es einige im Netz zu finden und passend für die von dir verwedete Zend-Version.
 

fakerer

Aktives Mitglied

AW: Zend: Datenbank SELECT ausgeben

Hi,
unter \Zend\Db\ findest du die ganzen Funktionen die dir zu verfügung stehen hat mir schon des öfteren weitergeholfen meist mehr als die docu die es gibt.
<code>
foreach ($result as $item) {
$id => $item->id,
$name => $item->name,
}</code>

sollte klappen
 
Zuletzt bearbeitet:
AW: Zend: Datenbank SELECT ausgeben

Hey, also die Dokumentation habe ich mir schon zig mal durchgelesen. Ich finde zwar dann auch immer wieder etwas neues, aber manchmal sieht man den Wald vor lauter Bäumen nicht mehr. :/

@fakerer inwiefern unter \Zend\Db\? Gibts da nen Ordner wo da auch ne Art Manual drin ist oder meinst du irgendwo im Inernet?

Also die Doku im Inet ist zwar übersichtlich und befasst sich mit allen Themen bezüglich Zend, aber ich finde sie ist viel zu undurchsichtig und meiner Meinung nach zu allgemein gehaltene Beispiele.
 
AW: Zend: Datenbank SELECT ausgeben

Ah ich habs:

PHP:
$query = $db->select();
   $query->from('mm_user', 'email');
   $reMail = $db->fetchAll($query);

Ausgeben will ich sie mit folgendem, was auch funktioniert:

PHP:
foreach($reMail as $row)
   {

   }

Jetzt habe ich aber folgendes Problem:
Ich will überprüfen, ob die Email-Adresse, die in das Eingabefeld eingegeben wurde, bereits in die DB eingetragen wurde. Wenn ja, dann soll die Variable $match gleich Null gesetzt werden. Wenn sie noch nicht eingetragen wurde, wird keine Variable gesetzt und entsprechend kann die Email-Adresse zum Registrieren verwendet werden.

PHP:
foreach($reMail as $row)
   {
    if($email == $row['email']) 
    {
     $match = 0;
    }
   }
 
if($match!=0)
{
 echo 'Email-Adresse noch nicht eingetragen!';
}
else
{
 echo 'Die Email-Adressen sind identisch. Tragen Sie eine neue ein.';
}

Ich hab die Ausgaben vereinfacht, um Text zu sparen.

Worauf ich hinaus will:
Irgendwie wird die Variable $match -immer- auf Null gesetzt, denn egal welche Email-Adresse ich eingebe, es kommt immer die else-Antwort, obwohl die Adresse gar nicht in die DB eingetragen wurde!?
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben