MCTimotheus18 Geschrieben 9. August 2005 Teilen Geschrieben 9. August 2005 Hallo Leute, ich habe folgenden Codeausschnitt für euch: Sorry aber in diesem Editor hier bekomme ich keine gute Formatierung des Codes hin Ich möchte wie man oben sieht eine Doppelvariable anlegen, um jeweils den richtigen Inhalt der MySQL Datenbanktabelle zu lesen. Ich bekomme nun an der Stelle, wo ich die Doppelvariable benutzen will folgende Fehlermeldung: $prozent[1] = (100 / $gesamt) * $daten[$$linked_answer]; [/PHP] oder [PHP] <td width='254' bordercolor='#FFFFFF' class='ntext'>$daten[$$linked_choice]</td> Parse error: parse error, unexpected T_CHARACTER, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /homepages/6/d120535360/htdocs/home_2.php on line 100 Was mache ich falsch? Gibt es eine andere ähnliche Lösung? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
etreu Geschrieben 9. August 2005 Teilen Geschrieben 9. August 2005 schon probiert? $tmp = $$linked_answer; // ... $daten[$tmp] [/PHP] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Monty82 Geschrieben 9. August 2005 Teilen Geschrieben 9. August 2005 Wie sieht denn $data aus, bzw. was steht drin, und wie ist es aufgebaut? Nur mal rein interessehalber, um zu verstehen, was Du vorhast . Gibt es die Variablen answer1...$anworten_gesamt? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MCTimotheus18 Geschrieben 9. August 2005 Autor Teilen Geschrieben 9. August 2005 Also ich habe eine SQL Tabelle in der folgendes steht: id ; frage ; choice1 ; choice2 ; choice3 ; choice4 ; choice5 ; answer1 ; answer2 ; answer3 ; answer4 ; answer5 Das ganze dient einem Unfrageskript. ich will mit der for Schleife jeweils den Inhalt der Antworten und Fragen rausziehen und in der Tabelle ausgeben. einlesen in $daten tue ich mit: $qry = mysql_query("SELECT * FROM umfrage WHERE id = '1'"); $daten = mysql_fetch_array($qry); [/PHP] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Monty82 Geschrieben 9. August 2005 Teilen Geschrieben 9. August 2005 Reicht dann nicht: <td width='254' bordercolor='#FFFFFF' class='ntext'>$daten[$linked_answer]</td> ? Wenn nicht, dann hat PHP vermutlich Probleme, zwischen Array, Variable und String zu unterscheiden. Dem könntest Du z.B. so Abhilfe schaffen: <td width='254' bordercolor='#FFFFFF' class='ntext'>".$daten[$linked_answer]."</td> Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MCTimotheus18 Geschrieben 9. August 2005 Autor Teilen Geschrieben 9. August 2005 Ich hab grade rausgefunden, dass mein Problem einfacherer Natur ist: Ich habe die oben angegebene Datenbank. Möchte jetzt in einer For-Schleife die Inhalte nacheinander auslesen. Im ersten Durchgang der Schleife soll nur Choice1 und Answer1 ausgegeben werden. Im 2. Durchgang Choice2 und Answer2. Dies ist meine Ausgabezeile für choice: <td width='254' bordercolor='#FFFFFF' class='ntext'>$daten[choice...$i]</td> [/PHP] Ich hoffe du verstehst mein Problem, ich lese den Datensatz mit mysql_fetch_array in die Variable $daten ein. Jetzt ist die Frage, wie baue ich das choice oder answer jeweils immer mit der $i Variable zusammen wie oben dargestellt ... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Monty82 Geschrieben 9. August 2005 Teilen Geschrieben 9. August 2005 Dann nimm: $daten[$linked_answer] und $daten[$linked_choice] Sollte funktionieren... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MCTimotheus18 Geschrieben 9. August 2005 Autor Teilen Geschrieben 9. August 2005 Dann wäre es ja so, wie ich es ganz oben schon programmiert habe (siehe Bild) und das nimmt er ja nicht an, ich weiß aber das es an dem kleinen Ausdruck liegt mit der verknüpften Variable. Was soll ich tun ? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Monty82 Geschrieben 9. August 2005 Teilen Geschrieben 9. August 2005 Du hast im Bild zwei Dollarzeichen, ich nur eins. Oder sehe ich da was falsch? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MCTimotheus18 Geschrieben 9. August 2005 Autor Teilen Geschrieben 9. August 2005 Leider funktioniert es so auch nicht. Habe auch schon diese Variante probiert: $linked_choice = "$"."choice".$i; Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Monty82 Geschrieben 9. August 2005 Teilen Geschrieben 9. August 2005 Poste mal bitte den relevanten Code neu, so wie er jetzt ist, aber bitte diesmal als Text Achja: Und WIE funktioniert es nicht? Fehlermeldung? Einfach keine Ausgabe? Mach mal bitte ein var_dump($data), und poste die Ausgabe... Und direkt auch mal mit dem, was ich oben geschrieben habe (mit einem Doller!), und anstelle von mysql_fetch_array --> mysql_fetch_assoc benutzen... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
DaFox Geschrieben 9. August 2005 Teilen Geschrieben 9. August 2005 Also ich habe eine SQL Tabelle in der folgendes steht: id ; frage ; choice1 ; choice2 ; choice3 ; choice4 ; choice5 ; answer1 ; answer2 ; answer3 ; answer4 ; answer5 Durchnumerierte Spaltenbezeichner sind in der Regel ein Zeichen für ein kaputtes Datenmodell. Spontan würde ich sagen, dass das Ganze nicht normalisiert ist. Siehe <http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/chap4.htm>. ich will mit der for Schleife jeweils den Inhalt der Antworten und Fragen rausziehen und in der Tabelle ausgeben. einlesen in $daten tue ich mit: $qry = mysql_query("SELECT * FROM umfrage WHERE id = '1'"); $daten = mysql_fetch_array($qry); [/PHP] Du suchst $daten[$linked_answer]. Das und die Sache mit dem Datenmodell ist Grundlagenwissen, das du dir vielleicht mal aneignen solltest, bevor du mit der Datenbankprogrammierung anfängst. *meinjanur* Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Aiun Geschrieben 10. August 2005 Teilen Geschrieben 10. August 2005 *gg* wenn ich mir die antworten so anguge....^^.... dein Fehler ist das du mysql_fetch_array nimmst, da kannst du die Felder nur mit zahlen ansprechen. [0,1,2,3....] nimmst du stattdessen mysql_fetch_assoc kannst du auch ['answer1...'] oder so benutzen. Allerdings stimme ich zu das dein Datenbankmodell einen schrecklichen Eindruck macht Was genau soll das Script denn leisten...schaut nach einem Voting-Script aus...aber wie genau hast du dir das gedacht.. ? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MCTimotheus18 Geschrieben 10. August 2005 Autor Teilen Geschrieben 10. August 2005 Also ich glaube mit meinem tollen Konzept komme ich nicht besonders weit. Ich habe vor eine Voting-Skript zu programmieren mit max. 5 möglichen Antworten und einer Frage. Das ganze sollte dann mit einem Cookie als Reload-Sperre erweitert werden. Die Daten sollen in einer MySQL Datenbank gespeichert werden... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Aiun Geschrieben 10. August 2005 Teilen Geschrieben 10. August 2005 dann überlege neu ein Anstoß: Tabelle Fragen: - Frage_ID - Text Tabelle Antworten: - Antwort_ID - Antwort Text Tabelle Antwort_Log - Log_ID - Antwort_ID - User_ID grundprinzip ist dabei, das es einen Login gibt oder ähnliches. Voting-Log über Cookie ist fies, dauert keine Sekunde das zu löschen. Über IP-Log ginge, aber auch das reicht nur bis zum nächsten Connect. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Monty82 Geschrieben 10. August 2005 Teilen Geschrieben 10. August 2005 *gg* wenn ich mir die antworten so anguge....^^.... Was genau meinst Du? Wessen Antworten? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Aiun Geschrieben 11. August 2005 Teilen Geschrieben 11. August 2005 nichts besonderes...wir haben alle den Fehler mit in unser Denken übernommen... seltsamerweise blieb die übliche Frage nach "mehr Informationen" lange zeit aus.. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Monty82 Geschrieben 11. August 2005 Teilen Geschrieben 11. August 2005 Achso, na denn... Der Threadtitel und das Ursprungsthema war daran Schuld, da übersieht man schonmal das Eine oder Andere Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.