php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 28.11.2004, 22:30  
Gast
 
Beiträge: n/a
Standard mysql-abfrage innerhalb einer schleife mehrmals aufrufen?

Hi

habe folgenden Code

Code:

	$daten = $_POST[entrys];

	$array = explode(",",$daten);

	$anzahl_elemente = count($array);

	$i = 0;

	while($i-1 < $anzahl_elemente) {

		// echo $array[$i];
		$pos = $array[$i];
		$query = mysql_query("SELECT * FROM kapazitaeten WHERE kennziffer = '$pos'");

		while($row = mysql_fetch_array($query)) {

			echo $row[id];

		}

		$i++;

	}
In dem $_POST[entrys] sind mehrere Strings mit Komma separiert drinne, zb:

dj232,kl937,dh482

Diese werden durch das explode in ein Array geteilt.

Nun soll das Array durchlaufen werden ($array[$i]) und bei jedem Element im Array eine SQL-Abfrage gemacht werden.

Theoretisch sollte das auch klappen, aber in der Praxis sieht das so aus, das er nur für das erste Element des Arrays den Inhalt von $row[id] ausgibt.

Das // echo $array[$i]; ist auskommentiert, entfernt man das // dann wird aber das Element richtig ausgegeben.

Was sagt ihr?
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 28.11.2004, 22:52  
Gast
 
Beiträge: n/a
Standard

Oh gott, ich habs...
Ein ltrim wirkt wunder
  Mit Zitat antworten
Alt 29.11.2004, 07:45  
Gast
 
Beiträge: n/a
Standard

Sorry, aber das Script ist einfach nur grausam. Ein Select * in einer Schleife, das ist einfach nur schlecht. Außerdem läßt sich das alles mit einem einzigen Select erledigen, wenn man die Daten richtig zusammensetzt.

Gruß
phpfan
  Mit Zitat antworten
Alt 29.11.2004, 09:36  
Gast
 
Beiträge: n/a
Standard

Genau, und $anzahl_elemente kann man sich genauso sparen wie die { } in der inneren while Schleife.
  Mit Zitat antworten
Alt 29.11.2004, 16:06  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von phpfan
Sorry, aber das Script ist einfach nur grausam. Ein Select * in einer Schleife, das ist einfach nur schlecht. Außerdem läßt sich das alles mit einem einzigen Select erledigen, wenn man die Daten richtig zusammensetzt.

Gruß
phpfan
Ähh wieso sollte das Schlecht sein? Verstehe ich nicht...
Anstatt hier direkt einen Neuling auf dem Forum rumzumeckern, kannst du das ja normal sagen und dann ggf. mitteilen wie du das besser machen würdest.

@m80331: Wieso kann ich mir das $anzahl_elemente sparen? Weisst du ob ich das in meinem Script später nicht noch brauche? Oh wunder, ich brauche es später noch. Ich finde es da einfacher auf eine Variable zuzugreifen als jedes mal neu zu count()en
Die {} kann ich mir auch nicht sparen da in diese Schleife noch ein paar Befehle reinmüssen.
  Mit Zitat antworten
Alt 29.11.2004, 16:31  
Gast
 
Beiträge: n/a
Standard

wenn du eine tabelle mit 500 Spalten hast, ziehst du mit select * alle 500 raus, und ver-
wendest davon nachher vielleicht 5 .. die restlichen 495 kannste den hasen geben - ver-
schwendete resourcen.
  Mit Zitat antworten
Alt 29.11.2004, 17:19  
Gast
 
Beiträge: n/a
Standard

Wie kann ich das denn dann realisieren? Ich dachte immer das geht nur so wenn ich alle Reihen haben will wo in Spalte XYZ der Inhalt abc drin steht (WHERE XYZ = 'abc')


gruß
  Mit Zitat antworten
Alt 29.11.2004, 17:48  
Gast
 
Beiträge: n/a
Standard

@marius66

Du kannst dir auch ne Variable anlegen wo dein Query drinsteht
und den bastelst du aus allen Elementen in dem Array zusammen.

Bsp. WHERE abc='def' || .... || ....
das gibt dann alle Ergebnisse aus und das ganze noch mit einem ORDER ins rechte Licht gesetzt kommt aufs selbe raus.
  Mit Zitat antworten
Alt 30.11.2004, 09:04  
Gast
 
Beiträge: n/a
Standard

select spalte1, spalte2, spalte3, spalte4 from ..
  Mit Zitat antworten
Alt 30.11.2004, 14:23  
Gast
 
Beiträge: n/a
Standard

Achso, danke für den Tipp...

Aber hier nicht nötig, da ich jede Spalte brauche.

Wie gesagt: Das ist nur ein Code-Ausschnitt meines gesamten Scripts und auch noch nicht fertig gestellt.
  Mit Zitat antworten
Antwort


Themen-Optionen
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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] MySql Frage: Problem mit einer etwas lomplexeren Abfrage tomtaz Datenbanken 5 24.06.2008 22:36
MySQL Abfrage als PHP class d3rbastl3r PHP Tipps 2008 2 11.06.2008 15:41
Frage: richtige SQL Abfrage von einer MySQL Spalte die SET werte besitzt Seb PHP Tipps 2008 2 29.05.2008 11:36
MySQL Abfrage macht Seite langsam Datenbanken 11 19.10.2006 19:38
MySQL Abfrage Von / Bis andrew22 Datenbanken 1 02.10.2006 11:04
MySQL - Abfrage: Unterschiedliche Ergebnisse aus PHP/manuell horstenpeter Datenbanken 3 16.07.2006 13:22
mysql abfrage in Schleife havok PHP Tipps 2006 6 09.05.2006 08:39
mysql abfrage mqs PHP Tipps 2006 4 09.04.2006 17:57
Abfrage bei mySQL 4 ApfeL Datenbanken 5 24.03.2006 18:53
MySQL Server startet nicht mehr richtig... Datenbanken 16 03.03.2006 19:40
Mysql Abfrage Datenbanken 4 27.02.2005 22:26
Select abfrage in Schleife PHP Tipps 2004 2 20.07.2004 15:37
mysql_fetch_array mehrmals aufrufen MadCro Datenbanken 3 14.07.2004 11:24
komplizierte mySQL Abfrage Datenbanken 6 25.06.2004 15:34
[Erledigt] mysql Abfrage Datenbanken 5 18.06.2004 14:16

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql abfrage schleife, http://www.php.de/php-fortgeschrittene/13151-mysql-abfrage-innerhalb-einer-schleife-mehrmals-aufrufen.html, mysql query mehrmals ausführen, mysql query schleife, sql abfrage mehrmals ausführen, mysql query in schleife, mysql aufruf in schleifen, mysql select schleife, php abfrage innerhalt eines echo ausführen, mysql statements öfters ausführen, php mysql abfragen innerhalb von abfragen, mysql abfrage mehrmals durchlaufen, select in einer for schleife, mysql query mehrmals aufrufen, mysql statment mehrmals ausführen, php mysql abfrage schleife, mysql schleife select durchlaufen, mysql query ergebnis schleife, php array mehrfach durchlaufen, mysql abfrage in schleife

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:01 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.