Thread Verfasser: Rolly8-HL
Thread ID: 825
Thread Info
Es gibt 5 Beiträge zu diesem Thema, und es wurde 2333 Mal angesehen.
 Thema drucken
DB Einträge mit Pn versenden
Rolly8-HL
Hallo, versuche aus einer Datenbank alle Testnamen mit einer Pn zu versenden.
Code
$result22 = dbarray(dbquery("SELECT * FROM ".DB_TEST22." WHERE test_id "));
$result33 = dbcount("(test_id)", DB_TEST22);
$test_name = $result22['test_name'];

require_once INCLUDES."sendmail_include.php";
      $subject = "Pn Test";
      $nachricht = sprintf("Test wurden gefunden: (<b>".$result33."</b>)
      Alle Testnamen:
      (<b>".$test_name."</b>)
      ");

In der Pn steht das 10 Einträge vorhanden sind.
Aber nur ein Testname wird angezeigt, möchte gerne das alle 10 untereinander gesendet werden.
Leider hat es so nicht geklappt, konnte es auch nicht mit while hinbekommen, wo liegt da mein Fehler?

Hat jemand da eine Idee?
Gruß Rolly8-HL
Was für Andere Wichtig ist muss für mich nicht genauso Wichtig sein!
Bin Dickkopf Unbelehrbar mache aus Protest nicht das was andere für Richtig halten!
Das gibt einem zu Denken oder?
 
SuNflOw
Hallo,

erstmal würde ein vernünftiger code helfen. Dieser ist nicht zu lesen geschweige den zu benutzen oder testen.

Ich kann nur so viel sagen wenn du "WHERE test_id = X" schreibst, dann kann nur einer zurück kommen ansonsten solltest du deine Bennenung "test_id" nochmal überdenken.

Wenn du sowas machen willst, dann musst du im select schon schreiben "SELECT test_name" und dann beim PDO::fetch die Methode FETCH_COLUMN nehmen. Danach hast du ein Array mit allen Namen und kannst alle hintereinander schreiben mit "implode(', ', $result)".

lg, SuN
________________________________________________
I got my swim trunks and my Flippie-Floppies *-*
 
Rolly8-HL
Wie sollte der Code denn aussehen?
Hast Du da mal einen Ansatz dafür?
Gruß Rolly8-HL
Was für Andere Wichtig ist muss für mich nicht genauso Wichtig sein!
Bin Dickkopf Unbelehrbar mache aus Protest nicht das was andere für Richtig halten!
Das gibt einem zu Denken oder?
 
John Doe
Naja vor Allem vergibst du auch keinen Wert schon bei der Abfrage...
WHERE test_id (WAS GENAU?)
Wenn du WHERE schreibst dann gehört dahinter auch ein WERT wie zb IS NOT NULL oder auch = XX oder > 1 or whatever. Somit selektiert die Abfrage dann anhand dieser "Vorgaben" die entsprechenden Daten. Bei IS NOT NULL zb selektiert er nur die Spalten/Tabellen, bei denen test_id nicht leer ist (also nicht null). Da du aber doch ohnehin ALLE auslesen willst, fangen da schon die Probleme an.

Warum also SELECT * statt direkt aus der Spalte, wie Sunflow schon schrieb?

Bei der "Zählung" hingegen hast du es richtig gemacht, da zählt er stumpf die Einträge, deshalb bekommst du dort auch das richtige Ergebnis.

Mich würde jetzt noch dein Versuch mit der while-Schleife interessieren :)
Dieses Mitglied wurde gelöscht!
 
Rolly8-HL
Jeep, habe mich noch mal ran gemacht mit der while-Schleife geht jetzt, hatte die nur an der falschen stelle zu liegen gehabt.
Die Ausgabe wird jetzt richtig ausgegeben, Anzahl 10 und 10 Einträge untereinander.

Besten Dank Problem gelöst.
Gruß Rolly8-HL
Was für Andere Wichtig ist muss für mich nicht genauso Wichtig sein!
Bin Dickkopf Unbelehrbar mache aus Protest nicht das was andere für Richtig halten!
Das gibt einem zu Denken oder?
 
Springe ins Forum: