php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 29.11.2008, 11:02  
Neuer Benutzer
 
Registriert seit: 29.11.2008
Beiträge: 10
shok befindet sich auf einem aufstrebenden Ast
Standard drop down menü dynamisch

hallo php freunde

wollt gerne ein dynamisches php menü erstellen doch irgendwie geht das nicht so ganz, ledeglich die letzte zeile wird angezeigt
als ich wollt zuerst meine datenbank auslesen und dann anhand der eintrage ein drop down menü erstellen doch dies klappt irgendwie nicht
hier der code

PHP-Code:
$abfrage "SELECT Farbe, Größe FROM design";
$ergebnis mysql_query($abfrage);
while(
$row mysql_fetch_object($ergebnis))
   {
   
$bla $row->Farbe$row->Größe;
   echo 
$bla;

   }





echo 
" NUR HEUTE, JEDES T-SHIRT NUR 5€! GREIFEN SIE ZU</p>
Größe/Farbe: 

<form>
<select name=top1 id=dropdown>
<option selected>Bitte wählen</option>
<option>'$bla'<option>
</select>
</form>
"

danke im voraus
shok ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 29.11.2008, 11:06  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Bei jedem Durchlauf der while-Schleife weist Du $bla einen anderen Wert zu.
Nach der Schleife hat $bla den Wert der letzten Zuweisung.
Und nach der Schleife gibst Du erst das <option> Element aus.
Ergebnis: Ein <option> Element mit dem zuletzt zugewiesenen Wert.

Du musst die <option> Element innerhalb der Schleife mit dem jeweils aktuellen Wert aus $row erstellen. Da, wo im Moment nur echo $bla; steht.
Die umliegende HTML Ausgabe musst Du natürlich auch entsprechend verschieben.
David ist offline  
Alt 29.11.2008, 11:06  
Erfahrener Benutzer
 
Registriert seit: 28.09.2008
Beiträge: 1.168
PHP-Kenntnisse:
Fortgeschritten
Koala befindet sich auf einem aufstrebenden Ast
Standard

PHP-Code:
$abfrage "SELECT Farbe, Größe FROM design"
$ergebnis mysql_query($abfrage); 
$bla = array();
while(
$row mysql_fetch_object($ergebnis)) 
   { 
   
$bla[] = $row->Farbe$row->Größe;
   }

 echo 
' NUR HEUTE, JEDES T-SHIRT NUR 5€! GREIFEN SIE ZU</p> 
Größe/Farbe:  

<form> 
<select name="top1" id="dropdown"> 
<option value="0" selected="selected">Bitte wählen</option>'
;

foreach(
$bla as $value){
   echo 
'<option value="'.$value.'">'.$value.'<option>';
   }

echo 
'</select> 
</form> 
'


Geändert von Koala (29.11.2008 um 11:09 Uhr).
Koala ist offline  
Alt 29.11.2008, 11:10  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

---
David ist offline  
Alt 29.11.2008, 11:10  
Neuer Benutzer
 
Registriert seit: 29.11.2008
Beiträge: 10
shok befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von David Beitrag anzeigen
Bei jedem Durchlauf der while-Schleife weist Du $bla einen anderen Wert zu.
Nach der Schleife hat $bla den Wert der letzten Zuweisung.
Und nach der Schleife gibst Du erst das <option> Element aus.
Ergebnis: Ein <option> Element mit dem zuletzt zugewiesenen Wert.

Du musst die <option> Element innerhalb der Schleife mit dem jeweils aktuellen Wert aus $row erstellen. Da, wo im Moment nur echo $bla; steht.
Die umliegende HTML Ausgabe musst Du natürlich auch entsprechend verschieben.
hm...das klingt einleuchend bloß wie kann ich das denn ändern, aslo dass $bla nach jedem durchlauf sein wert weitergibt und im drop down menü mehrere felder angezeigt werden?
shok ist offline  
Alt 29.11.2008, 11:20  
Erfahrener Benutzer
 
Registriert seit: 28.09.2008
Beiträge: 1.168
PHP-Kenntnisse:
Fortgeschritten
Koala befindet sich auf einem aufstrebenden Ast
Standard

??? ich hab Dir den Code doch gepostet.
Koala ist offline  
Alt 29.11.2008, 11:21  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Dann werfe ich auch noch mal ein fertiges Skript ein
PHP-Code:
<?php
// wo sind mysql_connect() und mysql_select_db() ?

$abfrage "SELECT Farbe as farbe, Größe as groesse FROM design"
$ergebnis mysql_query($abfrage) or die(mysql_error());
?>
NUR HEUTE, JEDES T-SHIRT NUR 5€! GREIFEN SIE ZU</p> 
Größe/Farbe:
<form> 
  <select name="top1" id="dropdown"> 
    <option value="0" selected="selected">Bitte wählen</option>
    <?php 
    
while( false!==($row=mysql_fetch_array($ergebnis)) ) {
      echo 
'<option>'htmlspecialchars($row['farbe'].$row['groesse']), '</option>';
    }
    
?>
  </select>
  <input type="submit" />
</form>
Die Punkte, auf die es mir ankommt, sind
- die Fehlerbehandlung für mysql_query() durch or die(mysql_error())
- htmlspecialchars(), damit Zeichen wie > < in der Datenbank nicht die Anzeige des HTML beeinflussen.
David ist offline  
Alt 29.11.2008, 11:35  
Erfahrener Benutzer
 
Registriert seit: 28.09.2008
Beiträge: 1.168
PHP-Kenntnisse:
Fortgeschritten
Koala befindet sich auf einem aufstrebenden Ast
Standard

lol - wobei man die Fehlerbehandlung (mysql_error)
noch in eine function auslagern und zentral in einer config ablegen könnte.
Beim Produktivbetrieb brauch man dann nur die function ändern.



Koala ist offline  
Alt 29.11.2008, 11:39  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Ja, meistens schreibe ich noch eine entsprechende Bemerkung dazu. Habe ich hier vergessen, sorry.
David ist offline  
Alt 29.11.2008, 11:43  
Neuer Benutzer
 
Registriert seit: 29.11.2008
Beiträge: 10
shok befindet sich auf einem aufstrebenden Ast
Standard

danke koala und david,
sorry da kam mein post bissl zu früh
code von koala funzt so weit, riesen dankeschön, bloß irgendwie ist nur in jeder 2. zeile nen eintrag und mein schöner button "warenkorb" funzt nicht mehr ka warum...weiß jemand warum?
die verbindung wird übrigens im sessionhelper hergestellt also die datei include ich zuvor
kann ja nochmal den gesamten code posten

PHP-Code:
<?php
session_start
();

include_once 
'sessionhelpers.inc.php';

$btn logged_in() ? '<input name="warenkorb" type="submit" value="in Warenkorb">' '';

$abfrage "SELECT Farbe, Größe FROM design"
$ergebnis mysql_query($abfrage); 
$bla = array();
while(
$row mysql_fetch_object($ergebnis)) 
   { 
   
$bla[] = $row->Farbe$row->Größe;
   }

 echo 
' NUR HEUTE, JEDES T-SHIRT NUR 5€! GREIFEN SIE ZU</p> 
Größe/Farbe:  

<form> 
<select name="top1" id="dropdown"> 
<option value="0" selected="selected">Bitte wählen</option>'
;

foreach(
$bla as $value){
   echo 
'<option value="'.$value.'">'.$value.'<option>';
   }
'</select> 
'
.$btn.'
</form>'
;


if (isset(
$_POST['warenkorb']))
{
echo 
$_POST['top1'];
echo 
'<a href="logout.php">Ausloggen</a>';
echo 
'<p /><a href="logged_in.php">Check</a>';

}
?>
shok 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
Problem mit Drop Down Menu Kein Genie HTML, Usability und Barrierefreiheit 2 04.11.2008 21:55
Schwierigkeiten mit Drop Down Menü Incubi PHP Tipps 2008 1 11.08.2008 02:11
horizontales Menü Fritz73 Scriptbörse 9 26.05.2008 22:26
Drop Down Menü PHP-Fortgeschrittene 3 16.01.2006 21:17
[Erledigt] drop down auswahl aus der datenbank PHP Tipps 2005-2 5 28.10.2005 12:06
Drop down Menü HTML, Usability und Barrierefreiheit 4 22.09.2005 17:15
Automatische Anweisung für Drop Down Menü PHP Tipps 2005-2 2 05.09.2005 12:50
[Erledigt] Drop Down auswahl in tabelle speichern PHP Tipps 2005-2 6 10.08.2005 16:36
[Erledigt] Mehrere Fragen zum drop down menu HTML, Usability und Barrierefreiheit 2 29.11.2004 23:59
[Erledigt] Mehrere Fragen zum drop down menu PHP Tipps 2004-2 1 28.11.2004 19:24
iFrames und Drop Down Menü stefan-miti HTML, Usability und Barrierefreiheit 4 17.10.2004 12:27
drop down menu Datenbanken 3 24.09.2004 16:39
[Erledigt] drop down menü werte weitergeben PHP Tipps 2004 3 24.08.2004 15:08
[Erledigt] bei einem CMS Farbe per Drop Down Menü wählen?? 18inch PHP Tipps 2004 2 29.07.2004 16:34
Drop Down Menü PHP Tipps 2004 17 27.07.2004 21:19

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php dropdown menü erstellen, http://www.php.de/php-tipps-2008/49427-drop-down-menue-dynamisch.html, dropdown menü erstellen php, dropdown menü in php erstellen, dropdown menü php erstellen, php dynamisches menü, dropdownmenü in php erstellen, php menü dynamisch, html dropdown menü erstellen, php pulldown menu erstellen, dynamisches menü php, dropdown php dynamisch generieren tutorial, dropdown menü erstellenm php, dropp down menü erstellen php, dynamisches dropdown tutorial, drop down menu dynamisch, dropdown menü dynamisch, dynamisches menü erstellen, dropdown liste mit abfrage erstellen, php dropdown feld dynamisch erweitern

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:33 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