php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 03.04.2009, 14:26  
Neuer Benutzer
 
Registriert seit: 03.04.2009
Beiträge: 7
evil-chupacabra befindet sich auf einem aufstrebenden Ast
Standard Anfängerproblem

hallo zusammen.

ich bin anfänger, habe auch eigentlich auf der arbeit nichts mit php zu tun, habe aber nun von meinem chef den auftrag bekommen was damit zu basteln.
mein problem ist nun folgendes.

ich habe ein drop-down down menü in einer div box. der inhalt des menüs wird den inhalten einer spalte einer SQL tabelle gefüllt. (soweit bin ich noch gekommen...)
jetzt soll die vom nutzer getätigte auswahl den zugehörigen datensatz der tabelle in einer anderen div box ausgeben.
mein code sieht bisher wie folgt aus:

PHP-Code:

<?php
mysql_connect
("localhost","root","passwort");         
mysql_select_db("datenbank");                            // Datenbank auswählen 
echo "<select>";
$tabelle mysql_query("SELECT * FROM tabellenname");
while(
$datensaetze mysql_fetch_assoc($tabelle)){
echo 
"<option>".$datensaetze[name]."</option>";}
echo 
"</select>";
?>
ich bekomme nun alle meine einträge aus dem feld "name" in dem pull down menu angezeigt. ich kann auch alle einträge auswählen.
allerdings habe ich gar keinen plan, wie ich es schaffe das zum aktuell ausgewählten namen ausgewählte "anschrift" feld (der gleichen tabelle) in einem anderen div, oder zur not auch im gleichen div ausgeben zu lassen.

brauche ich ein submit button, mit dem ich die auswahl des pull downs in einer variablen speichern kann um dann mit

PHP-Code:
SELECT anschrift FROM tabelle WHERE name='$variable' 
das anschriften feld zu laden ???

ich weiss das ich mir am besten ein buch dazu besorge und bei null anfange PHP zu lernen. mir ist auch durchaus klar, das dies sehr sinnvoll sein kann.
leider habe ich erst gestern um 15h diese "kleine aufgabe" erhalten und bis montag muss ich den (sorry) scheiss fertig haben...

mir wäre also sehr geholfen wenn mir jemand sagen könnte wie ich den kram irgendwie zum funktionieren bekomme. auch wenn ichs vielleicht nicht raffe, wäre ich für jeden netten code-schnipsel dankbar...

vielen dank schonmal für eure hilfe.

LG evil-chupacabra
evil-chupacabra ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 03.04.2009, 14:31  
Erfahrener Benutzer
 
Registriert seit: 22.01.2005
Beiträge: 611
Connar befindet sich auf einem aufstrebenden Ast
Standard

Also es gibt viele verschiedene Möglichkeiten, wie man das lösen könnte. Eine ist eben, das Formular abzuschicken und dabei den gewählten Wert mitzugeben. Ich denke, das ist für den Anfang die einfachste, deswegen beziehe ich mich dadrauf.
Du musst erstmal dem select Feld einen Namen geben:

PHP-Code:
<select name="erste_box"
Dann benutzt du einen submit-Button, um das Formular zu bestätigen. Mit deinem PHP-Script überprüfst du dann, ob ein Wert gewählt wurde

PHP-Code:
<?php
if(isset($_GET["erste_box"]))
{
  
// ...
}
?>
Und da drin kannst du dann die neue Auswahl ausgeben.
Connar ist offline  
Alt 03.04.2009, 14:45  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Du hast jetzt jede Menge geschrieben, v.a. auch einen aussagekräftigen Titel (Bitte aussagekräftige Threadtitel verwenden), der in der Boardsuche allen weiterhelfen wird, aber was du genau willst weiss ich immer noch nicht.
Du hast zwar eine Selectbox, mit der du aber gar nichts anfangen kannst, weil sie nicht innerhalb eines Formulars steht, und damit auch nicht abgeschickt werden kann.
__________________
Gruss
L
lazydog ist offline  
Alt 03.04.2009, 14:53  
Neuer Benutzer
 
Registriert seit: 03.04.2009
Beiträge: 7
evil-chupacabra befindet sich auf einem aufstrebenden Ast
Standard

also folgendermaßen (?):

PHP-Code:
<?php
mysql_connect
("localhost","root","passwort");         
mysql_select_db("datenbank"); 
echo 
"<select name="auswahl">";
$tabelle mysql_query("SELECT * FROM tabellenname");
while(
$datensaetze mysql_fetch_assoc($tabelle)){
echo 
"<option>".$datensaetze[name]."</option>";}
echo 
"</select>";
echo 
"<input type=submit>;
?>
jetzt habe ich den namen und einen submit button. im nächsten schritt kann ich dir nicht ganz folgen...

also in der nächsten box dann:

PHP-Code:
<?php
if(isset($_GET["auswahl"]))
{
  
// Ausgeben des feldes "anschrift" aus der tabelle mit echo ??????
}
?>
so in etwa ???

danke schonmal für deine hilfe!!!
LG
evil-chupacabra ist offline  
Alt 03.04.2009, 15:01  
Erfahrener Benutzer
 
Registriert seit: 22.01.2005
Beiträge: 611
Connar befindet sich auf einem aufstrebenden Ast
Standard

Oh, nun hast du ein paar Fehler. Wenn du ein echo mit " machst und ein Anführungszeichen schreiben willst, musst du es mit einem Backslash escapen.

PHP-Code:
<?php echo "\""?>
Genau, das war schonmal richtig sonst. Rufst das Ganze dann wieder aus der Datenbank ab, mit dem passenden Feld (bekommst du aus $_GET["auswahl"]) und gibst die Daten aus.
Connar ist offline  
Alt 03.04.2009, 15:06  
Neuer Benutzer
 
Registriert seit: 03.04.2009
Beiträge: 7
evil-chupacabra befindet sich auf einem aufstrebenden Ast
Standard

ok. danke für deinen hinweis. verstehe mich bitte nicht falsch, aber ich habe ja geschrieben das ich es selbst nicht toll finde das ich kein background wissen habe. ich würde liebend gerne einen titel eintragen der auch etwas aussagt, aber dazu mangelt es mir deutlich an PHP kenntnissen.

PHP-Code:
<?php
mysql_connect
("localhost","root","passwort");         
mysql_select_db("datenbank"); 
echo 
"<form action=test.php method=get>";
echo 
"<select name="auswahl">";
$tabelle mysql_query("SELECT * FROM tabellenname");
while(
$datensaetze mysql_fetch_assoc($tabelle)){
echo 
"<option>".$datensaetze[name]."</option>";}
echo 
"</select>";
echo 
"<input type=submit>;
echo "
</form>";
?>
wenn ich das jetzt richtig verstehe schaffe ich so einen button der etwas absendet. und zwar den namen, den ich im pull down menu ausgewählt habe oder ?

wenn ja, dann will ich jetzt in einer anderen div-box die zu diesem namen gehörende anschrift, die in der gleichen tabelle gespeichert ist ausgeben.

verstehst du mein problem, oder drücke ich mich irgendwie falsch noch falsch aus ?
wenn ja, schreib das ruhig.

vielen dank schonmal.

LG
evil-chupacabra ist offline  
Alt 03.04.2009, 15:08  
Neuer Benutzer
 
Registriert seit: 03.04.2009
Beiträge: 7
evil-chupacabra befindet sich auf einem aufstrebenden Ast
Standard

danke für den tipp mit dem echo.
das versenden funktioniert jetzt scheinbar ohne fehler.
ausgabe bekomme ich allerdings noch keine...
evil-chupacabra ist offline  
Alt 03.04.2009, 15:15  
Erfahrener Benutzer
 
Registriert seit: 28.05.2008
Beiträge: 2.094
PHP-Kenntnisse:
Fortgeschritten
rudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nett
Standard

Zur Arbeitserleichterung: Nimm nen Editor, der dir Fehler gleich zeigt.
Z.B. aptana mit php plugin, phpeclipse, ....
Wirst ja nicht oft php bearbeiten wollen/müssen.

Rück sauber ein, dann tust du dich selbst auch leichter.

Was genau willst du? Versteh nicht, worans hackt
rudygotya ist gerade online  
Alt 03.04.2009, 15:24  
Neuer Benutzer
 
Registriert seit: 03.04.2009
Beiträge: 7
evil-chupacabra befindet sich auf einem aufstrebenden Ast
Standard

ich habe ein pull down menu, welches mit den namen einer tabelle gefüllt wird.
zu diesen namen existiert eine anschrift.
je nachdem welcher name im pull-down menu gewählt wurde, soll die zugehörige adresse ausgegeben werden.

| "name" | "anschrift" |
| otto | haupstrasse 2 |
| karl | radweg 4 |
usw....

otto, karl, usw. stehen in meinem pull down menu in der div-box 1.
die zugehörige anschrift soll nach dem betätigen des submit buttons nach der auswahl aus dem pulldown menu in einer div-box 2 erscheinen.

ist das so verständlich ausgedrückt... ?

LG
evil-chupacabra ist offline  
Alt 03.04.2009, 15:30  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

  • Indizes von assoziativen Arrays sind Strings, gehören aslo in Anführungszeichen
  • Ebenfalls in Anführungszeichen gehören Werte von HTML-Attributen
  • Der Submitbutton sollte einen Wert (value) haben
  • SELECT * FROM sollte man nicht benutzen
  • Am besten übermittelst du die ID's der Adressen
  • Das action-Attribut des Formulars lässt du am besten leer und verarbeitest die Wert im gleichen Script weiter
  • Frage am Anfang ab, ob das Formular schon abeschickt wurde. Wenn ja verarbeite die übergebenen Werte ($_POST)
Das Ganze könnte dann etwa so aussehen (bitte erst kopieren wenn verstanden!):
PHP-Code:
<?php
mysql_connect
("localhost","root","passwort");         
mysql_select_db("datenbank"); 
if (isset(
$_POST['sent'])) {
    
$sql "
        SELECT
            vorname,
            name,
            addresse,
            plz,
            ort
        FROM
            tabellenname
        WHERE
            id = " 
intval($_POST['auswahl'])";
    $tabelle = mysql_query($sql) or exit(mysql_error());
    $adresse = mysql_fetch_assoc($tabelle);
    echo $adresse['vorname'] . ' ' .
            $adresse['name'] . "
<br />" .
            $adresse['adresse'] . "
<br />" .
            $adresse['plz'] . ' ' .
            $adresse['ort'] .  "
<br />";
}

echo "
<form action='' method='get'>";
echo "
<select name='auswahl'>";
$sql = "
    
SELECT
        id
,
        
name
    FROM
        tabellenname
"
$tabelle = mysql_query($sql) or exit(mysql_error());
while($datensaetze = mysql_fetch_assoc($tabelle)){
    echo "
<option value='" . $datensetze['id'] . "'>" . $datensaetze['name']."</option>";
}
echo "
</select>";
echo "
<input type='hidden' name='sent' value='1' />";
echo "
<input type='submit' value='Suche' />";
echo "
</form>";
?>
__________________
Gruss
L
lazydog 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
Anfängerproblem Update Befehl MoCo PHP Tipps 2008 9 24.11.2008 15:46
Anfängerproblem: Weiterleitung ohne Param Igäl Server, Hosting und Workstations 3 04.09.2007 17:47
Anfängerproblem!!!!!? PHP Tipps 2005-2 0 05.08.2005 14:07
Anfängerproblem .php-dateien werden nicht verarbeitet PHP Tipps 2004 2 11.06.2004 11:51

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
$sql = select * from .$daten[\'box 1\'].;

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