php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 19.12.2008, 09:35  
22hase
Gast
 
Beiträge: n/a
Standard [Erledigt] For-Schleife (mehrfach?)

Formular
PHP-Code:
  echo '<td align="center">1 <input type="text" name="airport1[]" size="3"></td>';
  echo 
'<td align="center"><input type="text" name="airport2[]" size="3"></td>';
  echo 
'<td align="center"><input type="text" name="airport3[]" size="3"></td>';
  echo 
'<td align="center"><input type="text" name="airport4[]" size="3"></td>';
  echo 
'<td align="center"><input type="text" name="airportz[]" size="3"></td>';
  echo 
'<td align="center"><input type="text" name="via[]" size="3"></td>';
  echo 
'<td align="center"><input type="text" name="airline1[]" size="3"></td>';
  echo 
'<td align="center"><input type="text" name="airline2[]" size="3"></td>';
  echo 
'<td align="center"><input type="text" name="preis[]" size="3"> €</td>';
  echo 
'<td align="center"><input type="text" name="tax[]" size="3">  €</td>';
  echo 
'<td align="center"><input type="text" name="saisonvon[]" size="6"></td>';
  echo 
'<td align="center"><input type="text" name="saisonbis[]" size="6"></td>';
  echo 
'<td align="center"><input type="text" name="buchbar[]" size="6"></td>';
  echo 
'<td align="center"><input type="text" name="aufmin[]" size="6"></td>';
  echo 
'<td align="center"><input type="text" name="aufmax[]" size="6"></td>'
eintrag (feld 1)
PHP-Code:
if(isset($_POST['eintrag'])) 
{  
$port1 $_POST['airport1']; 

for (
$i=0$i<count($port1); $i++)  
              {  
$port11$port1[$i]; 
  
$airid 'SELECT ID FROM tabelle WHERE Code = \''.$port11.'\''
$erg mysql_query($airid); 
while(
$a mysql_fetch_object($erg)) 

 
$eintrag "INSERT INTO tabelle (IDs1) 
 VALUES ('"
.$a->ID."')"
  
 if(!
mysql_query($eintrag)) 
 { 
  exit(
mysql_error()); 
 } 
  else  
 { 
  echo 
'<strong><font color="#FF0000">Angebote erfolgreich gespeichert!</font></strong>'
 } 
 } 
ja das klappt..aber ich müsste das jetzt für die restlichen felder auch machen. aber es beißen sich bei mir die for schleifen...
entweder es trägt nix ein...oder nur eins von den feld.

habt ihr besser lösungsideen (bitte nicht ajax usw) würde dies gern mit php lösen.

Grüßle
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 19.12.2008, 09:38  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Kannst du mal bitte genauer beschreiben wo dein Problem liegt?
cycap ist offline  
Alt 19.12.2008, 09:39  
Erfahrener Benutzer
 
Registriert seit: 07.07.2008
Beiträge: 208
homekiller befindet sich auf einem aufstrebenden Ast
Standard

Ja irgendwie seh ich da nur eine For Schleife und da weiß ich nichtmal wo die anfangt oder aufhört
Kannst ja mal die Fehlermeldung schreiben, dann wäre es einfacher das Problem zu finden.
homekiller ist offline  
Alt 19.12.2008, 09:47  
22hase
Gast
 
Beiträge: n/a
Standard

naja das problem ist.

die for-schleife die ihr seht ist für das feld "airport1[]"

wenn ich jetzt zum beispiel auch für das feld "airport2[]" eine forschleife mache so wie mit "airport1[]" geht das net so wie ich dachte.
ich hate dann einfach nmach der ersten for-schleife(anfang) eine zweite gemacht und die abfrage und insert angepasst.
aber dann trägt es mir (was sicher logisch ist) erst die erste ID in bei der spalten ein..und dannach die 2 in beide spalten..so das ich wenn ich 2 felder fülle 4 eintrage in der db habe.


FEHLER kommt deswegen keiner
 
Alt 19.12.2008, 09:59  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Ich programmier dir mal wie ich das machen würde:

PHP-Code:
if(isset($_POST['eintrag'])){
  for(
$x=1;$x<=4;$x++){ 
    foreach(
$_POST['airport$x'] as $key => $value){
      
$qry mysql_query("SELECT ID FROM tabelle WHERE Code = '".mysql_real_escape_string($_POST['airport$x'][$key])."'") or die(mysql_error());
      if(
mysql_num_rows($qry) == 1){
        
mysql_query("INSERT INTO tabelle (IDs$x)  VALUES ('".mysql_fetch_object($qry)->ID."')") or die(mysql_error());
        echo 
"Airport $x gespeichert!";
      }
      else{
        echo 
"Code nicht gefunden";
      }
    }
  }

ist aber nicht getestet, nur grad so im Forum dahingeklatscht

Geändert von cycap (19.12.2008 um 10:03 Uhr).
cycap ist offline  
Alt 19.12.2008, 10:55  
22hase
Gast
 
Beiträge: n/a
Standard

mhh..ich steig da net mehr durch....naja....egal....
 
Alt 19.12.2008, 11:07  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Nun so wie ich das jetzt gemacht habe, wirds in der Reihenfolge gespeichert:

airport1[0]
airport1[1]
airport1[2]

airport2[0]
airport2[1]
airport2[2]

airport3[0]
airport3[1]
airport3[2]

airport4[0]
airport4[1]
airport4[2]

das wäre so wenn du das Formular oben 3 ([0],[1],[2]) mal hintereinander schreibst.
cycap ist offline  
Alt 19.12.2008, 11:27  
22hase
Gast
 
Beiträge: n/a
Standard

mh...ja das ist mir eigetnlich noch klar...also meins sieht so aus.

airport 1 | airport 2 | airport 3 | airport 4 | zielairport | preis | usw.....

eingabe | eingabe | eingabe | eingabe | eingabe | eingabe | eingabe |
eingabe | eingabe | eingabe | eingabe | eingabe | eingabe | eingabe |
eingabe | eingabe | eingabe | eingabe | eingabe | eingabe | eingabe |
eingabe | eingabe | eingabe | eingabe | eingabe | eingabe | eingabe |


aber das spielt ja keine rolel ob hintereinander oder so.

naja ist ja bald we da klemm ich mich dahinter. irgendwann kommt schon drauf ist eben doof weil ja letztendlich alle felder arrays sind und die muss ja auch letztendlich beim selben durchgang alle speichern.
 
Alt 19.12.2008, 11:28  
Erfahrener Benutzer
 
Benutzerbild von Phoscur
 
Registriert seit: 01.12.2008
Beiträge: 450
PHP-Kenntnisse:
Fortgeschritten
Phoscur wird schon bald berühmt werdenPhoscur wird schon bald berühmt werden
Standard

Kannst du mal formulieren, was du eigentlich tun willst?
Ich denke, dass man die Queries besser verschachteln könnte als zwei Schleifen drüber zu jagen, da leidet wirklich die Performance.
__________________
Phoscur ist offline  
Alt 19.12.2008, 11:31  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

du brauchst die Schleife die du in deinem Code gemacht hast nicht nochmal machen, WEIL du davon ausgehen kannst das wenn es airport1[0] gibt, es auch airport2[0] und airport3[0] (usw.) geben MUSS
cycap ist offline  
 


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
Script mehrfach ausführen .David. PHP Tipps 2008 11 21.01.2010 18:51
[Erledigt] Mehrfach vorkommender Wert in Ausgabeschleife nur einmal darstellen nopileos PHP Tipps 2008 16 13.08.2008 08:00
[Erledigt] Count mit Where und mehrfach OR Flix Datenbanken 5 21.06.2008 23:02
Mehrfach Join lazydog Datenbanken 2 08.05.2008 16:09
Mehrfach Mysql Count() Quagga PHP Tipps 2007 6 01.02.2007 18:10
Mehrfach where in der ABfrage? Kori Datenbanken 4 16.01.2007 16:46
mehrfach ordnen faultier Datenbanken 2 23.08.2005 13:32
mehrfach oder in der Abfrage PHP Tipps 2005-2 2 15.08.2005 23:13
gleichen code mit untersch. Var. mehrfach includen PHP Tipps 2005-2 8 10.07.2005 18:33
[Erledigt] SQL mehrfach Datenbanken 8 27.04.2005 18:19
Formular auslesen mit PHP -> Variable mehrfach aúsgeben DDogg PHP Tipps 2005 2 21.04.2005 13:16
Formular mehrfach auslesen PHP Tipps 2005 17 27.01.2005 15:04
MySQL mehrfach abfrage PHP Tipps 2004-2 3 22.11.2004 14:23
Skript mit langer Ausführungszeit => mehrfach ausgeführt PHP-Fortgeschrittene 10 12.10.2004 20:22

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php eingabefelder mit schleife mehrfach ausgeben, for schleife mehrmals aufrufen, http://www.php.de/php-tipps-2009/49933-erledigt-schleife-mehrfach.html, eingabefeld in schleife php, php for schleife verschachteln, php mehrmals ausführen, for schleife php length, for schleifen verschachteln, schleife mit input, php eingabefeld mit schleife mehrfach ausgeben, mit einer schleife mehrmals einen text, input type in einer schleife, php for schleife mehrmals ausgeben, input select schleife, input type text mit forschleifen, input type text for loop, php forschleife wird nur einmal ausgeführt, echo wird mehrfach php, schleifen php satz mehrmls, php schleifen length

Alle Zeitangaben in WEZ +1. Es ist jetzt 10:43 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