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 07-03-2005, 18:28
Hessebubb_
 Newbie
Links : Onlinestatus : Hessebubb_ ist offline
Registriert seit: Mar 2005
Ort: FRANKFURT
Beiträge: 26
Hessebubb_ ist zur Zeit noch ein unbeschriebenes Blatt
Standard Pulldown-Menü aus SQL Datensätzen

Gude

Ich denke mein Problem ist kein Großes, dennoch hänge ich an jenem schon etwas länger.

Ziel ist es ein Pulldown-Menü zu erzeugen, welches auf der Eingabe von bisher zwei SQL-Datensätzen basiert. Eine Tabelle namens "namen" ist angelegt, darin befinden sich die Felder "namen", email" und "land" des jeweiligen Benutzers. Nun will ich das Feld "namen" in einem Pulldown-Menü erscheinen lassen, wo also bisher ZWEI Einträge auszuwählen sein sollten. Ich scheitere -wenn auch wahrscheinlich knapp- an der Realisierung.

Folgendes Menü erscheint:




Fehler 1:
Das Auswahlfeld bietet mir nur EINEN Eintrag.

Fehler 2:
Warum seh ich immer nur den Anfangsbuchstaben?




Hier der kurze Code:

PHP-Code:

<html>
<head></head>
<body>
<div align="center">
<h1>Themen-Eingabe</h1>
<form action="auswertung.php" method="post">

 <p><input name="titel" style="width:400px"></p>
 <p><textarea name="text" style="width:400px; height: 150px"></textarea></p>
  <p><input type="submit" value="Thema eintragen"></p>
</form>
</div>

<p><a href="bearbeiten_03.php">Zur Übersicht</a></p>

<?
include("mysql.inc");

  
$query "SELECT * FROM namen ORDER BY id DESC";
  
$sql mysql_query($query);
  while (
$ds mysql_fetch_object($sql)){
    
$id $ds->id;
    
$name htmlentities($ds->name);
    
$land htmlentities($ds->land);
    
$email htmlentities($ds->email);    }

?>

<form method="post">
  <select name="name">
  <?
   $anzahl
=count($name);
   for (
$i=0$i<$anzahl$i++) {
     echo 
"<option value=\"$i\">$name[$i]</option>";
     }
  
?>
  </select>

</form>


</body>
</html>
 <?
Mit Zitat antworten
freelancermap.de - IT Projektvermittlung für Selbständige und Freiberufler
  #2 (permalink)  
Alt 07-03-2005, 18:34
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

- wie sieht der an den browser abgeschickte html-code?
- was steht in der db?
Mit Zitat antworten
  #3 (permalink)  
Alt 07-03-2005, 18:39
oppi
 Junior Member
Links : Onlinestatus : oppi ist offline
Registriert seit: Nov 2002
Beiträge: 167
oppi ist zur Zeit noch ein unbeschriebenes Blatt
Standard

zu 1:
Wenn du beim Auslesen aus der DB die Variable $name immer wieder überschreibst kann ja am Ende nur ein Eintrag (der letzte) im Selectfeld stehn oder?

zu 2:
wenn du dann versuchst eine String wie ein Array ($name[$i]) zu behandeln gibt dir PHP den Bustaben an der enstpechenden Stelle zurück ( in dem Fall $i=0 also den ersten)
Mit Zitat antworten
  #4 (permalink)  
Alt 07-03-2005, 19:18
Hessebubb_
 Newbie
Links : Onlinestatus : Hessebubb_ ist offline
Registriert seit: Mar 2005
Ort: FRANKFURT
Beiträge: 26
Hessebubb_ ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von oppi
zu 1:
Wenn du beim Auslesen aus der DB die Variable $name immer wieder überschreibst kann ja am Ende nur ein Eintrag (der letzte) im Selectfeld stehn oder?

zu 2:
wenn du dann versuchst eine String wie ein Array ($name[$i]) zu behandeln gibt dir PHP den Bustaben an der enstpechenden Stelle zurück ( in dem Fall $i=0 also den ersten)

Erstmal danke und dann zu 1 :

Wie könnte man hier alternativ vorgehen? Irgendwie muss es doch funktionieren, dass er die Werte aus dem Feld "name" rausliest und sie komplett ausgibt...
Mit Zitat antworten
  #5 (permalink)  
Alt 07-03-2005, 19:29
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

oppi hat natürlich recht, $name soll als array und nicht als string gefüllt werden. dann kannst du auch einzelne seiner elemente ansprechen.
Mit Zitat antworten
  #6 (permalink)  
Alt 07-03-2005, 19:29
oppi
 Junior Member
Links : Onlinestatus : oppi ist offline
Registriert seit: Nov 2002
Beiträge: 167
oppi ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Klar geht sowas. Die Frage is wohl eher wie man richtig einzelne Werte an ein array anfügt. dazu mal hier nachschaun http://de.php.net/manual/de/language.types.array.php
Mit Zitat antworten
  #7 (permalink)  
Alt 08-03-2005, 03:01
rönee
 Banned
Links : Onlinestatus : rönee ist offline
Registriert seit: Nov 2004
Ort: Switzerland
Beiträge: 283
rönee ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo Hessebubb

Versuche es einmal hiermit.

PHP-Code:
<select name="namenselect" style="width: 150">
<
option selected value=""></option>
ABC;
$abfrage mysql_query ("SELECT * FROM namen ORDER BY id DESC");
while (
$row mysql_fetch_array ($abfrage)) 
{
$name $row["name"];
$land $row["land"];
$email $row["email"];
echo<<<ABC
<option value="$name">$name</option>
ABC;
}
echo<<<ABC
</select> 
sollte funktionieren, in dieser Art mache ich es jeweils.

schöne Grüsse René
Mit Zitat antworten
  #8 (permalink)  
Alt 08-03-2005, 17:22
Hessebubb_
 Newbie
Links : Onlinestatus : Hessebubb_ ist offline
Registriert seit: Mar 2005
Ort: FRANKFURT
Beiträge: 26
Hessebubb_ ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von rönee
Hallo Hessebubb

Versuche es einmal hiermit.

PHP-Code:
<select name="namenselect" style="width: 150">
<
option selected value=""></option>
ABC;
$abfrage mysql_query ("SELECT * FROM namen ORDER BY id DESC");
while (
$row mysql_fetch_array ($abfrage)) 
{
$name $row["name"];
$land $row["land"];
$email $row["email"];
echo<<<ABC
<option value="$name">$name</option>
ABC;
}
echo<<<ABC
</select> 
sollte funktionieren, in dieser Art mache ich es jeweils.

schöne Grüsse René

Merci vielmals.
Für was steht das "ABC", das will mir keinen Sinn ergeben...
Mit Zitat antworten
  #9 (permalink)  
Alt 08-03-2005, 17:42
Hessebubb_
 Newbie
Links : Onlinestatus : Hessebubb_ ist offline
Registriert seit: Mar 2005
Ort: FRANKFURT
Beiträge: 26
Hessebubb_ ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Aaah ich Depp! Funktioniert!

Aber rönee, babbel mir mal warum Du die ABC's hier reingeschrieben hast?!...
Mit Zitat antworten
  #10 (permalink)  
Alt 08-03-2005, 18:10
rönee
 Banned
Links : Onlinestatus : rönee ist offline
Registriert seit: Nov 2004
Ort: Switzerland
Beiträge: 283
rönee ist zur Zeit noch ein unbeschriebenes Blatt
Talking

Hi Hessebubb

Frag mich nicht mehr woher ich es habe. Aber ich verwende es mittlerweilen in jedem Script.

Der Vorteil: Die Seite beinhaltet nur ein <? zu Beginn und ein ?> am Ende. Sämtlichen html Code setzte ich nun zwischen echo<<<ABC und ABC; wobei es immer zu Beginn der Zeile stehen sollte (ohne Leerschlag).
Nun kann ich "normalen" html Code verwenden, ohne speziell mit ""; oder ' anstelle von " usw.

Leider habe ich nun kurz in den Referenzen nachgeschaut und so auf die schnelle nichts darüber gefunden - suche weiter denn es gibt noch weitere Mögichkeiten in dieser Art.

Anscheinend bin ich der einzige welcher in diesem Forum den Code so hinterlegt; aufgrund der suche nach echo<<<ABC.

Nur hat mir hier noch kein Profi bzw. Crack etwas dagagen gesagt!
Also nehme ich an das es nicht sehr aussergewöhnlich ist. Zumal es auch einwandfrei funktioniert auch unter php5

Ich persönlich finde diese Art sehr aufgeräumt und übersichtlich ich Arbeite sehr gerne damit.

schöen Grüsse René
Mit Zitat antworten
  #11 (permalink)  
Alt 08-03-2005, 18:25
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von rönee
Der Vorteil: Die Seite beinhaltet nur ein <? zu Beginn und ein ?> am Ende.
hurra - und damit muss der parser über alles laufen, auch wenn es nur reine HTML-daten ohne variablen drin etc. sind -> unperformant.

Zitat:
Anscheinend bin ich der einzige welcher in diesem Forum den Code so hinterlegt; aufgrund der suche nach echo<<<ABC.
vielleicht bist du auch nur der einzige, der ABC als bezeichner verwendet ... http://www.php.net/manual/de/languag...syntax.heredoc
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #12 (permalink)  
Alt 08-03-2005, 18:37
rönee
 Banned
Links : Onlinestatus : rönee ist offline
Registriert seit: Nov 2004
Ort: Switzerland
Beiträge: 283
rönee ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke wahsaga

das sind sehr interessante Infos, als Autodidakt ist man immer auf solches angewiesen.

Ich hatte es wahrscheinlich einmal aus einem bestehenden Script herausgelesen. Ah, also ist ABC optional und ich könnte auch ZZZ als Bezeichner nehmen.

Mit den Performant hatte ich noch nie mühe, alle meine Seiten sind innert sekunden aufgebaut!
Mit Zitat antworten
  #13 (permalink)  
Alt 08-03-2005, 20:51
thomas1986
 Junior Member
Links : Onlinestatus : thomas1986 ist offline
Registriert seit: Jan 2005
Beiträge: 78
thomas1986 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

So würd ich es machen:

<?
mysql_connect("host","user","pass");
$result=mysql_db_query("db","SELECT * FROM Table");
?>
<select name="name">
<?
while($r=mysql_fetch_array($result,MYSQL_BOTH))
{
?>
<option value="<?echo $r['name']?>"><?echo $r['name']?></option>
<?
}
?>
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

PHP Marktplatz-Software
PHP Marktplatz-SoftwareEs hat sich viel getan! Die neue Version 7.5.9 unserer PHP Marktplatz-Software ebiz-trader steht ab sofort zur Verfügung.

28.10.2019 | Berni

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni


 

Aktuelle PHP Scripte

SMT

Server Monitoring & Management Tool Das SMT wurde von einem Administrator für Administratoren entwickelt, es vereinfacht den Alltag in der klassischen Administration und Verwaltung. Mit dem SMT kannst Du alle Deine Server & Dienste verwalten und überwach

04.09.2020 palle_1977 | Kategorie: PHP
numaeks Web-Farbmixer

Die RGB-Farben lassen sich hier auf unterschiedliche Weise mischen. Zur Einstellung werden auch die Dreh- und Schieberegler mit Canvas verwendet. Gespeichert werden die Farben in einem Cookie.

04.09.2020 numaek | Kategorie: JAVASCRIPT/ Tools
phplinX-Erotikportal 4 ansehen phplinX-Erotikportal 4

Erweiterbares Portal speziell für Erotik mit den Modulen Webkatalog, Bannermanagement und Kleinanzeigenmarkt. Sämtliche Module können über einen einzigen Adminbereich verwaltet werden.

18.06.2020 Cosinus14 | Kategorie: PHP/ Anzeigenmarkt
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 02:33 Uhr.