Fahrtenbuch genial!
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 12.07.2007, 00:38   #1
TP-Supporter
 
Benutzerbild von Spin
 
Registriert seit: Sep 2002
Ort: Zürich
Spin macht alles soweit korrekt

Mit foreach DB auslesen


Hallo zusammen

Stehe einwenig auf dem Schlauch.
Folgendes Szenario:

PHP-Code:
foreach ($_REQUEST['checkbox'] as $key => $value) {

$sql ="SELECT *FROM tabelle WHERE artikel =".$value." LIMIT 1";        
$res send_sql($MySQL_Db$sql);    
$row mysql_fetch_array($res);
echo 
$row['spalte'];

Habe folgendes gecheckt: $res liefert resource_id und das Statement bringt mir die Daten wenn ich es in phpmyadmin einfüge.

Datenbank ist connected und funktioniert. Ebenso funktioniert die send_sql Funktion.

Will ja nur genau einen Datensatz auslesen, darum keine while Schlaufe.

Was mache ich falsch? Ergebnismenge ist immer leer, aber einen MySQL Error gibt es keinen.

Gruss Spin
Spin ist offline   Mit Zitat antworten


Alt 12.07.2007, 01:10   #2
TP-Supporter
 
Benutzerbild von Spin
 
Registriert seit: Sep 2002
Ort: Zürich
Spin macht alles soweit korrekt

Problem gelöst


Habe falsche Tabelle selektiert!

*lol*

Gruss: Spin
Spin ist offline   Mit Zitat antworten
Alt 12.07.2007, 03:13   #3
TP-Greis
 
Benutzerbild von Boris
 
Registriert seit: Mar 2001
Ort: Berlin, Germany
Boris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKE
Sehr doll ist das aber nicht ... bei 100 Werten wären das 100 Datenbankabfragen!

Ich würde daraus nur eine einzige Query machen und alle Werte mit OR verknüpfen.
__________________
My software never has bugs. It just develops random features ...

» DevShack - die Website des freien Webentwicklers Boris
Boris ist offline   Mit Zitat antworten
Alt 12.07.2007, 12:28   #4
TP-Supporter
 
Benutzerbild von Spin
 
Registriert seit: Sep 2002
Ort: Zürich
Spin macht alles soweit korrekt

100 Abfragen


Ja das ist mir klar.

Das ganze wird aber in einer If Bedingung verwendet und es handelt sich immer um wenig übermittelte Werte.

So wie ich das sehe habe ich keine andere Möglichkeit das zu machen.
Oder hast du eine andere Idee?

Gruss: Spin
Spin ist offline   Mit Zitat antworten
Alt 12.07.2007, 12:42   #5
TP-Moderator
 
Benutzerbild von Cybergreek
 
Registriert seit: Nov 2005
Ort: Köln
Cybergreek ist ein richtiges Arbeitstier - DANKECybergreek ist ein richtiges Arbeitstier - DANKECybergreek ist ein richtiges Arbeitstier - DANKECybergreek ist ein richtiges Arbeitstier - DANKECybergreek ist ein richtiges Arbeitstier - DANKE
Zitat:
Zitat von Spin Beitrag anzeigen
...So wie ich das sehe habe ich keine andere Möglichkeit das zu machen...
Verstehe jetzt ich Dich nicht, oder Du Boris nicht?

Du kannst ja Deine SQL-Abfrage im foreach-Block bilden, also
PHP-Code:
$sql "SELECT *FROM tabelle WHERE ";
foreach (
$_REQUEST['checkbox'] as $key => $value) {

$sql .= "artikel =".$value." OR ";
}  
$sql .= " LIMIT 1"
Das letzt "OR" müsstest Du noch abfangen. Danach kannst Du die Abfrage einmalig ausführen und durch die Ergebnisliste durch-echo-en
__________________
Grüße vom Griechen,
Cybergreek!

WikiDict.de - Das Wiki-Wörterbuch
Cybergreek ist offline   Mit Zitat antworten
Alt 12.07.2007, 16:06   #6
DSB
TP-Veteran
 
Benutzerbild von DSB
 
Registriert seit: Mar 2005
Ort: Oyten
DSB ist ein richtiges Arbeitstier - DANKEDSB ist ein richtiges Arbeitstier - DANKEDSB ist ein richtiges Arbeitstier - DANKEDSB ist ein richtiges Arbeitstier - DANKE
Code:
$sql='... WHERE `artikel` IN (\''.implode('\',\'',$_REQUEST['checkbox']).'\)'';
wäre wahrscheinlich noch schneller als viele OR-Bedingungen.
Das LIMIT 1 muss natürlich entfernt werden wenn man alle Datensätze haben will und nicht nur einen.
__________________
Gruß, DSB
Einfaches Backup/ Restore Deiner MySQl-Datenbank
DSB ist offline   Mit Zitat antworten
Alt 12.07.2007, 16:16   #7
TP-Moderator
 
Benutzerbild von Cybergreek
 
Registriert seit: Nov 2005
Ort: Köln
Cybergreek ist ein richtiges Arbeitstier - DANKECybergreek ist ein richtiges Arbeitstier - DANKECybergreek ist ein richtiges Arbeitstier - DANKECybergreek ist ein richtiges Arbeitstier - DANKECybergreek ist ein richtiges Arbeitstier - DANKE
Zitat:
Zitat von DSB Beitrag anzeigen
...wäre wahrscheinlich noch schneller als viele OR-Bedingungen...
... und eleganter
__________________
Grüße vom Griechen,
Cybergreek!

WikiDict.de - Das Wiki-Wörterbuch
Cybergreek ist offline   Mit Zitat antworten
Alt 12.07.2007, 16:19   #8
TP-Special Mod
 
Benutzerbild von steffenk
 
Registriert seit: Feb 2005
Ort: Haan / NRW
steffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine User
man sollte man sicherstellen, das checkbox nicht leer ist, also nix angeklickt ist, daher würde ich es so machen:

Code:
$sql='... WHERE `artikel` IN (\''.implode('\',\'',array_merge((array)$_REQUEST['checkbox'],array('dummy').'\)'';
__________________

Typo3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
steffenk ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
Mit foreach DB auslesen Mit foreach DB auslesen
« Adressformular mit DB-Speicherung gesucht | Generiertes Image in Skript einbinden? »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 06:34 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67