Zum Inhalt springen

Variable in einer Variable


Empfohlene Beiträge

Hallo Leute,

ich habe folgenden Codeausschnitt für euch:

code.jpg

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?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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]

Link zu diesem Kommentar
Auf anderen Seiten teilen

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>

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 ...

Link zu diesem Kommentar
Auf anderen Seiten teilen

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...

Link zu diesem Kommentar
Auf anderen Seiten teilen

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*

Link zu diesem Kommentar
Auf anderen Seiten teilen

*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.. ?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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...

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...