php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 28-12-2007, 20:04
soemcityboy
 Newbie
Links : Onlinestatus : soemcityboy ist offline
Registriert seit: Dec 2007
Beiträge: 16
soemcityboy ist zur Zeit noch ein unbeschriebenes Blatt
Standard Daten im Dropdown Menu aus Mysql Datenbank

Hallo, ich habe da ein kleines Problem,und zwar will ich in ein Dropdown menu meine Daten aus der Datenbank anzeigen lassen.
( es soll eben nicht fest im quelltext verankert sein )

meine versuche:
also verbunden ist die datenbank... ..abfragen gehen auch. aber ich hab keinen ahnung wie ich das so verankern soll, das im dropdownmenu die daten angezeigt werden...
im moment kommt zwar ein menu aber dort ist nichts rein geschrieben?!

vielleich muss ich ja nur ne andere farbe nehmen?
weil die anzahl stimmt!

danke erstmal

Ich habs erst so versucht <option value=""> "<? php code ?>" </option>

vielleicht gibts ja auch net ganz simple erklärung?

?>
PHP-Code:
$host='localhost';
$user='root';
$password='';

$res=mysql_connect($host,$user,$password) or die('Das war wohl nix ! Mysql meldet:<br>'.mysql_error());

$res=mysql_select_db('audi') or die('War wieder nix - die Datenbank gibts wohl nicht');


$sql="SELECT * FROM `motor`";
$res=mysql_query($sql) or die("Das gibts doch nicht - immer noch was falsch ? !<br>".mysql_error()."<br>$sql");
While($datensatz=mysql_fetch_array($res))
{
    echo "<p>";
    echo "name: "  . $datensatz['name']."<br>";
    echo "</p>";}
?>



<?
echo "name: ";
echo 
"<select onchange=\"document.forms[0].submit();\" name=\"name\">\n";
{
        
$selected $_res['name']==$datensatz['name']?" selected":"";
          echo 
"<option value=\"".$datensatz['name']."\"$selected>".$datensatz['name']."</option>\n";
       }
       echo 
"</select>\n<br>\n";

?>
Mit Zitat antworten
  #2 (permalink)  
Alt 28-12-2007, 22:53
Slava
 PHP Senior
Links : Onlinestatus : Slava ist offline
Registriert seit: Nov 2002
Ort: Köln->Karlsruhe
Beiträge: 1.589
Slava befindet sich auf einem aufstrebenden Ast
Standard

du liest alles in einer schleife aus und nach dem die schleife zu ende gelaufen ist, hast du in $datensatz eine false.

Aus diesem grund scheitert dein Versuch nach der schleife die Werte ins option zu setzen.

Du hast jetzt 2 Möglichkeiten.
1) wärend deiner erster Schleife die Ergebnise in ein Array zwischenspeichern und dann bei Options in einer schleife durchlaufen.
oder
2) mit mysql_data_seek dein $res in einer schleife noch mal von vorne durchlaufen.
__________________
Slava
bituniverse.com
Mit Zitat antworten
  #3 (permalink)  
Alt 03-01-2008, 15:31
soemcityboy
 Newbie
Links : Onlinestatus : soemcityboy ist offline
Registriert seit: Dec 2007
Beiträge: 16
soemcityboy ist zur Zeit noch ein unbeschriebenes Blatt
Standard

So habs etwas anders gelöst...
aber leider ist das was am ende raus kommt auch net so klasse...
im PHP editor sieht man jetzt alle Motortypen aufeinmal nebeneinander.
ich dachte dropdown menu ist untereinander?
aber das liegt jetzt wieder an meiner datenbank?


Also ich habe jetzt 3 Datensätze eingetagen, dieses Komische menu wird jetzt 3 mal nebeneinander erzeugt in jeder steht ein anderer datensatz drin,
so dann hab ich eine ID eingefügt ( auto_increment mit Primärschlüssel, alles mit phpmyadmin )

Und passiert folgendes dieser Datensatz wird nun darunter geschreiben also kommt nun eine liste mit Motortyp1 und darunter eben die ID : 1
es würde ja klappen wenn ich die datenbank umschreibe und in jedes Feld einen Motortyp schreibe oder?

Aber das will ich eigentlich nicht machen gibts da keine möglichkeit das es in diesem Menü alles untereinander erscheint?
also die ID kann ich ja raus lassen aber der Motortyp reicht ja...

PHP-Code:

<html>
<br><br>
<center><img src="Audi a5.jpg"></center>
<br><br><br>

<form action="Farbe.php" method="POST">

Geben sie den gew&uuml;nschten Motor an :
<br>
<br>


<?
$host
='localhost';
$user='root';
$password='';

$res=mysql_connect($host,$user,$password) or die('Das war wohl nix ! Mysql meldet:<br>'.mysql_error());

$res=mysql_select_db('audi') or die('War wieder nix - die Datenbank gibts wohl nicht');


$sql="SELECT * FROM `motor`";
$res=mysql_query($sql) or die("Das gibts doch nicht - immer noch was falsch ? !<br>".mysql_error()."<br>$sql");

$num=mysql_num_rows($res);

While(
$datensatz=mysql_fetch_array($res))
{
?>

<select name="form" size="1">
    <option selected>Motortyp w&auml;hlen</option>
    <option value="<?php echo $datensatz['name'];?>"><?php echo $datensatz['name'];?></option>

TEST : <option value="<?php echo $datensatz['ID'];?>"><?php echo $datensatz['ID'];?></option>

</select>

<?}?>
<input type="submit" value="Auswahl best&auml;tigen">

<br>
<br>
<br>
<br>
<a href="javascript:history.back()">Zurück</a>
Mit Zitat antworten
  #4 (permalink)  
Alt 03-01-2008, 15:34
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Schau dir mal deinen generierten Quelltext an, dir wird schnell auffallen, wo dein Fehler liegt.
Mit Zitat antworten
  #5 (permalink)  
Alt 03-01-2008, 15:37
soemcityboy
 Newbie
Links : Onlinestatus : soemcityboy ist offline
Registriert seit: Dec 2007
Beiträge: 16
soemcityboy ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von unset
Schau dir mal deinen generierten Quelltext an, dir wird schnell auffallen, wo dein Fehler liegt.
Na ich würde es hier nicht schreiben wenn ich den fehler so schnell finden würde.
helf mich doch einfach mal ein bissel weiter...
Mit Zitat antworten
  #6 (permalink)  
Alt 03-01-2008, 15:40
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Frage: Willst du wirklich für jeden Datensatz ein eigenes select? Oder willst du alle in einem unterbringen?
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #7 (permalink)  
Alt 03-01-2008, 15:42
soemcityboy
 Newbie
Links : Onlinestatus : soemcityboy ist offline
Registriert seit: Dec 2007
Beiträge: 16
soemcityboy ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von jahlives
Frage: Willst du wirklich für jeden Datensatz ein eigenes select? Oder willst du alle in einem unterbringen?
ich würde gern alle in einem unterbringen...
es sollen ja dort nur die typen ausgewählt werden mehr nicht.
Mit Zitat antworten
  #8 (permalink)  
Alt 03-01-2008, 15:44
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

In deinem PHP-Code machst du aber immer wieder ein neues ...
Mit Zitat antworten
  #9 (permalink)  
Alt 03-01-2008, 15:50
soemcityboy
 Newbie
Links : Onlinestatus : soemcityboy ist offline
Registriert seit: Dec 2007
Beiträge: 16
soemcityboy ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von unset
In deinem PHP-Code machst du aber immer wieder ein neues ...
wie kann ich das verändern? ich möchte nur eins haben... ...bin nicht so der große php experte und bräuchte da eben ein bissel hilfe.

danke
Mit Zitat antworten
  #10 (permalink)  
Alt 03-01-2008, 15:57
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Indem du die Select-Tags aus der Schleife rausnimmst.
Mit Zitat antworten
  #11 (permalink)  
Alt 03-01-2008, 16:05
soemcityboy
 Newbie
Links : Onlinestatus : soemcityboy ist offline
Registriert seit: Dec 2007
Beiträge: 16
soemcityboy ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von unset
Indem du die Select-Tags aus der Schleife rausnimmst.
hm na wenn ich aber die select anweisung rausnehme.
dann steht in dem Menu aber nichts mehr... ...also bin ich jetzt wieder bei dem Problem wie zum anfang.
ich müsste nun nochmal mit
PHP-Code:
mysql_data_seek 
arbeiten oder?
Mit Zitat antworten
  #12 (permalink)  
Alt 03-01-2008, 16:11
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
hm na wenn ich aber die select anweisung rausnehme.
Nicht aus dem Code rausnehmen, sondern nur aus der Schleife raus
PHP-Code:
echo '<select name="form" size="1">';
echo 
'<option selected>Motortyp w&auml;hlen</option>';
while(
$res=mysql_fetch_array($resultat)){
  echo 
'<option value="'.$res['name'].'">'.$res['name'].'</option>';
}
echo 
'</select>'
so z.B.

Gruss

tobi
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #13 (permalink)  
Alt 03-01-2008, 16:13
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Du sollst die Select-Tags aus der Schleife nehmen, nicht die SELECT-Anweisung aus deinem Query. Und du sollst die Tags auch nicht vollständig aus deinem Script entfernen, sondern lediglich außerhalb der Schleife ausgeben. Denn ansonsten wird für jeden Schleifendurchlauf ein komplett neues Select-Feld erzeugt (die allerdings alle den selben namen haben).

Deinem Code entsprechend müsstest du es auf folgendes ändern:

PHP-Code:


<html>
<br><br>
<center><img src="Audi a5.jpg"></center>
<br><br><br>

<form action="Farbe.php" method="POST">

Geben sie den gew&uuml;nschten Motor an :
<br>
<br>


<?
$host
='localhost';
$user='root';
$password='';

$res=mysql_connect($host,$user,$password) or die('Das war wohl nix ! Mysql meldet:<br>'.mysql_error());

$res=mysql_select_db('audi') or die('War wieder nix - die Datenbank gibts wohl nicht');


$sql="SELECT * FROM `motor`";
$res=mysql_query($sql) or die("Das gibts doch nicht - immer noch was falsch ? !<br>".mysql_error()."<br>$sql");

$num=mysql_num_rows($res);
?> <select name="form" size="1"> <?php
While($datensatz=mysql_fetch_array($res))
{
?>

    <option selected>Motortyp w&auml;hlen</option>
    <option value="<?php echo $datensatz['name'];?>"><?php echo $datensatz['name'];?></option>

TEST : <option value="<?php echo $datensatz['ID'];?>"><?php echo $datensatz['ID'];?></option>

<?}?></select>
<input type="submit" value="Auswahl best&auml;tigen">

<br>
<br>
<br>
<br>
<a href="java script:history.back()">Zurück</a>
Setz dich darüber hinaus aber bitte mal mit validem HTML auseinander.
Mit Zitat antworten
  #14 (permalink)  
Alt 03-01-2008, 16:22
soemcityboy
 Newbie
Links : Onlinestatus : soemcityboy ist offline
Registriert seit: Dec 2007
Beiträge: 16
soemcityboy ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Vielen lieben dank!
Es funktioniert einwandfrei!

Irgentwie hab ich warscheinlich noch ein paar fehler bei der programmierung.
Php ist zwar schon ganz logisch, aber das gleich zu erkennen ist irgentwie gar net so leicht.

danke an alle!
Mit Zitat antworten
  #15 (permalink)  
Alt 03-01-2008, 16:37
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Php ist zwar schon ganz logisch, aber das gleich zu erkennen ist irgentwie gar net so leicht.
OffTopic:

Das hat aber nicht viel mit PHP zu tun. Der Code war von der Synthax her korrekt und stellte damit für den Parser kein Problem dar. Also wurde der Code abgearbeitet, genau so wie du ihn geschrieben hast. Keine Programmiersprache der Welt kann einen solchen "Fehler" erkennen. Deine Ablauflogik kann der Parser nicht korrigieren. Kann überigens auch z.B. Java sicher nicht


Gruss

tobi
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 15:45 Uhr.