php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Jobs und Projekte > Projekthilfe
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


Projekthilfe Hier könnt Ihr eine Art Projekthilfe anfordern. Unter Projekthilfe verstehen wir Angebote bei denen KEIN Geld gezahlt werden kann.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 15-05-2008, 10:15
ACRDF
 Newbie
Links : Onlinestatus : ACRDF ist offline
Registriert seit: Apr 2008
Beiträge: 39
ACRDF ist zur Zeit noch ein unbeschriebenes Blatt
Standard DB-Ausgaben ins Formular (DropDown)

Hallo,

ich habe folgendes Problem:
In einer DropDown Box möchte ich die Daten (z.B. Name, Vorname) aus meiner Datenbank anzeigen lassen und dies soll dann zur jeweiligen Detailansicht der entsprechenden Person führen (nach id). Allerdings bekomme ich die Datenübergabe in das Optionsfeld nicht hin.

Hier der Code des Optionfeldes:

PHP-Code:
echo
"<option selected=\"selected\" value=\"detailansicht.php?id=".$row["id"]."\">"$row['Name'], ", "$row['Vorname'], "</option>"
Nun erhalte ich aber dummerweise nur folgende Anzeige im Optionsfeld (nur ein Feld):
", $row['Name'], ", ",$row['Vorname'],"

Was ist hier flasch?
Mit Zitat antworten
  #2 (permalink)  
Alt 15-05-2008, 10:30
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

Da wirst du deine Zeichenkette wohl irgendwo falsch escapen. Hier im Forum siehts ok aus. Wie das mit den Kommata ist, weiß ich jetzt nicht genau, meine aber, das sieht gut aus.
Mit Zitat antworten
  #3 (permalink)  
Alt 15-05-2008, 10:32
ACRDF
 Newbie
Links : Onlinestatus : ACRDF ist offline
Registriert seit: Apr 2008
Beiträge: 39
ACRDF ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Davon bin ich ja auch ausgegangen. Habe sogar noch mal meine While usw. überprüft. Stimmt alles (meines Wissens nach)
Mit Zitat antworten
  #4 (permalink)  
Alt 15-05-2008, 10:53
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

Und die Kommas, die nicht in " und " stehen sollen richtig sein??? Du willst Strings verknüpfen und das macht man nicht mit , sondern .
__________________
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
  #5 (permalink)  
Alt 15-05-2008, 11:02
UzumakiNaruto
 Registrierter Benutzer
Links : Onlinestatus : UzumakiNaruto ist offline
Registriert seit: Nov 2004
Beiträge: 642
UzumakiNaruto befindet sich auf einem aufstrebenden Ast
Standard

KOMMAS?????

PHP-Code:
echo
"<option selected=\"selected\" value=\"detailansicht.php?id=".$row["id"]."\">
"
$row['Name'], ", "$row['Vorname'], "
</option>"

Sollten doch wohl eher punkte sein

PHP-Code:
echo "
<select name=\"user\">
<option value=\""
.$row['id']."\">".$row['Name'].", ".$row['Vorname']."</option>
</select>
"

und danach bei der überprüfung der eingaben (wird ja irgendwo im <form action=""> stehen)

PHP-Code:
header("Location: detailansicht.php?id=".$_POST['user']); 
__________________
Gruß
Uzu

private Homepage
Mit Zitat antworten
  #6 (permalink)  
Alt 15-05-2008, 11:05
ACRDF
 Newbie
Links : Onlinestatus : ACRDF ist offline
Registriert seit: Apr 2008
Beiträge: 39
ACRDF ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich habe mal folgenden Versuche gemacht:

PHP-Code:
{
echo 
"<option selected=\"selected\" 
          value=\"detailansicht.php
          ?id="
.$row["id"]."\">";     
                        
echo 
$row['Name'];     
            
echo 
"</option>"

Folgende Ausgabe (im Optionsfeld):
"; echo $row['Name']; echo "

Geändert von ACRDF (15-05-2008 um 11:41 Uhr)
Mit Zitat antworten
  #7 (permalink)  
Alt 15-05-2008, 11:06
ACRDF
 Newbie
Links : Onlinestatus : ACRDF ist offline
Registriert seit: Apr 2008
Beiträge: 39
ACRDF ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Sorry...
Mit Zitat antworten
  #8 (permalink)  
Alt 15-05-2008, 11:28
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Und die Kommas, die nicht in " und " stehen sollen richtig sein??? Du willst Strings verknüpfen und das macht man nicht mit , sondern .
Versuch es doch mal, echo arbeitet mit den Kommas so, als wären es mehrere Funktionsparameter. Es handelt sich hierbei um keine Zeichenkettenverknüpfung.

@ACRDF: Brich doch bitte mal deinen Code um!
Mit Zitat antworten
  #9 (permalink)  
Alt 15-05-2008, 22:45
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:
von PHP-Desaster
Versuch es doch mal, echo arbeitet mit den Kommas so, als wären es mehrere Funktionsparameter.
ich sollte wiedermal an mich selber
Trotzdem ist mir diese Schreibweise echt noch nie untergekommen
Zitat:
Es handelt sich hierbei um keine Zeichenkettenverknüpfung.
<klugscheiss>
echo gibt diese einzelnen Parameter garantiert mittels Stringverkettung aus
</klugscheiss>

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
  #10 (permalink)  
Alt 15-05-2008, 23:04
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Zitat:
Original geschrieben von jahlives
echo gibt diese einzelnen Parameter garantiert mittels Stringverkettung aus
Nö. Aus zend_language_parser.y:
Code:
T_ECHO echo_expr_list ';'
//...
echo_expr_list:
		echo_expr_list ',' expr { zend_do_echo(&$3 TSRMLS_CC); }
	|	expr					{ zend_do_echo(&$1 TSRMLS_CC); }
;
Wenn die einzelnen Kommateile Strings sind, wird jeder einzeln durch die Mangel gedreht (Variablenerstzung etc.). Wenn man statt Komma Stringverkettung benutzt, geschieht das nur einmal. Das und der Overhead durchs mehrfache Aufrufen von zend_do_echo() machen die Kommaschreibweise langsamer.
Mit Zitat antworten
  #11 (permalink)  
Alt 15-05-2008, 23:13
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

@onemorenerd
Wenn ich das richtig verstehe, dass wird für jeden Parameter intern ein echo gemacht?
-Erklärung übrigens...

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
  #12 (permalink)  
Alt 15-05-2008, 23:59
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Zitat:
Original geschrieben von jahlives
Wenn ich das richtig verstehe, dass wird für jeden Parameter intern ein echo gemacht?
Genau. Das interne echo heißt zend_do_echo().
Ich versuche das Gemoppel da oben mal zu erklären.

T_ECHO echo_expr_list ';'

sagt dem PHP-Parser, wie ein echo-Ausdruck auszusehen hat. Er besteht aus "echo" (das ist der Wert von T_ECHO), einer echo_expr_list und dem Literal ";".
Was eine echo_expr_list ist, wird hiermit beschrieben.

echo_expr_list:
echo_expr_list ',' expr { zend_do_echo(&$3 TSRMLS_CC); }
| expr { zend_do_echo(&$1 TSRMLS_CC); }
;

So eine echo_expr_list ist also
entweder eine echo_expr_list gefolgt von einem literalen Komma und einer expr
oder nur eine expr.
Wie man leicht sieht, ist das eine rekursive Definition. Deswegen kann man beliebig viele Expressions mit Komma getrennt auf einmal ausgeben.
Wenn der Parser nun so eine echo_expr_list findet, ersetzt er sie mit dem was in geschweiften Klammern dahinter steht. Das &$3 und &$1 referenziert den 3. bzw. 1. Teil des vorstehenden Ausdrucks, also in beiden Fällen expr.
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

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

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