php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 29.12.2009, 13:21  
Benutzer
 
Registriert seit: 09.10.2008
Beiträge: 53
dave303 befindet sich auf einem aufstrebenden Ast
Standard Kein Formular in while Schleife?

Hallo zusammen

Ich habe es ein PHP Script welches Daten aus einer Datenbank aufgelistet anzeigt, der User soll nun einen Datensatz auswählen können und dann auf die jeweilige Detailseite gelangen auf welcher die Details zum ausgewählten Datensatz angezeigt werden:


PHP-Code:
$res mysql_query("select * from spiele");
$num mysql_num_rows($res);
 
 
$lf 1;
 while (
$dsatz mysql_fetch_assoc($res)) {
 
           
$spiel_name $dsatz["spiele"];
           global 
$spiel_name;
 
           echo 
"<a href='#' title='".$spiel_name."' onclick='document.anzeigen_form.submit();' >";
           echo  
$dsatz['spiele']."</a>"."</td>";
 
           echo 
"<td>" $dsatz["verlage"] . "</td>";
 
           
$lf $lf 1;
 
           } 
Der User klickt also auf den Link um zu den Details der Auswahl zu gelangen. Jetzt würde ich normalerweise innerhalb dieser „while Schleife“ auch ein Formular einbauen, welches dann über das Anklicken des Links gesendet wird. So kann ich die den vom User ausgewählten Datensatz erkennen und dann die Details dazu anzeigen lassen:

PHP-Code:
echo "<form name='anzeigen_form' method='post' action=''><input ";
           echo 
"type='hidden' name='formularfeld_spielename' value='".$spiel_name."' ></form>"
Das Problem ist aber dass es nicht funktioniert wenn ich dieses Formular in die Schleife einbaue. Habe ich das Formular ausserhalb der Schleife lässt es sich zwar absenden aber ich erkennen nicht welcher Datensatz der User ausgewählt hat. Die Variable $spiel_name zeigt immer den letzten Datensatz der gesamten Datenbank an.

Hat jemand ne Idee wie ich das lösen könnte? Ich denke notfalls mit einer Session Varable, aber ich bin sicher es muss auch anders gehen.


Vielen Dank für eure Tipps.

LG
dave303 ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 29.12.2009, 13:29  
Erfahrener Benutzer
 
Benutzerbild von Dark Guardian
 
Registriert seit: 10.10.2009
Beiträge: 2.637
PHP-Kenntnisse:
Fortgeschritten
Dark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekannt
Standard

Formular: $_POST

Alternative:
URL: $_GET

Beispiel:

linkto.php?action=detail&id=3534543

In PHP ansprechbar durch:

$_GET['action'] (enthält detail)
$_GET['id'] enthält (353....)

Empfehlung: http://www.php.de/php-einsteiger/489...rundlagen.html
__________________
"Alles im Universum funktioniert, wenn du nur weißt wie du es anwenden musst".
Dark Guardian ist offline  
Alt 29.12.2009, 13:49  
Benutzer
 
Registriert seit: 09.10.2008
Beiträge: 53
dave303 befindet sich auf einem aufstrebenden Ast
Standard

Hi Dark Guardian und Danke für dein Post.

Ich glaube es gibt ein Missverständnis, ich kenne die POST und GET Methode und wie ich bei den beiden die übermittelten Variablen abfangen kann.

Das Problem liegt abder darin dass das Formular nicht funktioniert wenn ich es innerhalb der Schleife habe. Und liegt das Formular ausserhalb der Schleife übermittelt es immer nur den letzten Datensatz der Datenbank.

Lg
dave303 ist offline  
Alt 29.12.2009, 14:00  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.990
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

„funktioniert nicht...“ ist keine sinnvolle Fehlerbeschreibung
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
Alt 29.12.2009, 14:02  
Erfahrener Benutzer
 
Registriert seit: 07.12.2009
Beiträge: 843
PHP-Kenntnisse:
Fortgeschritten
chorn befindet sich auf einem aufstrebenden Ast
Standard

Das stimmt so wie du es machst hinten und vorne nicht.
- Warum missbrauchst du einen Link mit Javascript um ein Formular mit einer ID als einzigem Wert abzuschicken?

- "dass es nicht funktioniert wenn ich dieses Formular in die Schleife einbaue" sagt rein garnichts aus. Konkrete Problembeschreibung fehlt. Mögliche Ursache: Deine Formulare haben alle den gleichen Namen, wie soll Javascript das unterscheiden?

- "Die Variable $spiel_name zeigt immer den letzten Datensatz der gesamten Datenbank an." - was auch sonst, wenn du das Formular ausserhalb der Schleife definierst? Du musst das Konstrukt das die Variable übergibt in der Schleife definieren, sonst kannst du die Datensätze nicht unterscheiden.
chorn ist offline  
Alt 29.12.2009, 14:03  
Benutzer
 
Registriert seit: 09.10.2008
Beiträge: 53
dave303 befindet sich auf einem aufstrebenden Ast
Standard

Hi nikosch

Sorry, mit funktionert nicht meine ich dass das formular offenbar nicht erkannt wird wenn es sich in der Schleife befindet. Wenn ich den Link betätige wird das Formular nämlich nicht abgeschickt.

Lg
dave303 ist offline  
Alt 29.12.2009, 14:13  
Benutzer
 
Registriert seit: 09.10.2008
Beiträge: 53
dave303 befindet sich auf einem aufstrebenden Ast
Standard

hi chorn

1.Ich "missbrauche" den Link weil mir keine andere Möglichkeit bekannt war einen anklickbaren Link zu generieren der dann wie ein Formular funktioniert und beim Klick einen Wert übermittelt. Wenn du einen besere Variante weisst, nur her damit

2. Das Problem ist, dass das Formualar nicht abgeschikt wird und beim Betätigen des Links nichts passiert. Du meinst, wenn ich als Formular-Name eine Variable nehmen würde dies das Problem lösen?

3. Ok, dann hat sich meine Vermutung bestätig, ich muss das Formuar in der Schleife defineiren.

Lg und Danke
dave303 ist offline  
Alt 29.12.2009, 14:15  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.990
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Nö, musst Du nicht. In die Schleife gehören nur verschiedene Buttons/Inputfelder o.ä. Für den Rest reich ein Form-Tag.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
Alt 29.12.2009, 14:16  
Erfahrener Benutzer
 
Registriert seit: 08.10.2009
Beiträge: 682
PHP-Kenntnisse:
Anfänger
Harry_X befindet sich auf einem aufstrebenden Ast
Standard

an welches script werden denn die Values gegeben?
Harry_X ist offline  
Alt 29.12.2009, 14:26  
Benutzer
 
Registriert seit: 09.10.2008
Beiträge: 53
dave303 befindet sich auf einem aufstrebenden Ast
Standard

@Harry_X,
Hi, ich habe eine Index Seite welche alle Inhalte anzeigt. Dann eine externe PHP Datei in welcher alle Anzeige-Funktionen definiert worden sind. In dieser externen Datei liegt auch das in meinem Post beschriebene Script.

Die Variable $spiel_name wird mit dem Fomrular übermittelt und von einer anderen Funktion abgefangen mit:

PHP-Code:
if (isset($_POST['formularfeld_spielename'])) {
 function 
spiel_einzeln_anzeigen() {
... }

lg
dave303 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
[Erledigt] while schleife: nur jede zweite ausgabe anzeigen? Moe LaRoqua PHP Tipps 2009 10 04.08.2009 03:08
Daten aus While Schleife senden Kallewaze PHP Tipps 2009 18 20.03.2009 16:55
Problem mit Db+Bild in der while Schleife Janika PHP Tipps 2008 10 17.09.2008 20:39
While schleife -> letzter durchgang Skazi PHP Tipps 2006 7 16.09.2006 00:11
mysql_query verschmelzen zweier abfragen (while schleife) Buschdieb PHP Tipps 2006 10 15.07.2006 17:11
while Schleife gibt nicht alle Daten aus PHP Tipps 2006 2 12.01.2006 19:24
[Erledigt] While schleife in while schleife = nur ein datensatz?! PHP Tipps 2005-2 9 28.10.2005 12:48
while schleife in einer while schleife beim tmpl-sys PHP Tipps 2005-2 0 27.07.2005 15:07
While Schleife Beatbox Off-Topic Diskussionen 8 19.05.2005 21:55
Schleife in Formular Auswertung DDogg PHP Tipps 2005 2 20.04.2005 15:44
while schleife beenden PHP Tipps 2005 3 29.03.2005 20:35
IF ELSEIF ELSEIF ELSE mit While Schleife PHP Tipps 2005 9 04.03.2005 23:27
Variabel aus while schleife ausserhalb der schleife nutzen PHP Tipps 2005 8 12.02.2005 18:04
resultausgabe mit while schleife in pdf dokument PHP Tipps 2004 2 23.09.2004 14:56
[Erledigt] probleme mit ner while schleife PHP Tipps 2004 5 23.07.2004 17:28

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
formular mit while, php zeigt nur einen datensatz an, while schleifen ergebnis in formular verwenden, formular in while schleife, html formulare while, php while form aufrufen, php formular in while schleife, php html formular in while schleife sendet nicht, php submit while schleife, innerhalb einer while schleife formular ausgeben, while schleife formular, form name while schleife, formulare in while schleife, probleme mit variablen, \formular\ in while schleife, php formular while, html form mit while, php eingabeformular in while, php submit im formular mit schleife zeigt nur letzten datensatz, html formular in for schleife erzeugen, js code in php while schleife einbauen

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