Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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?

Geschrieben

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?

Geschrieben

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]

Geschrieben

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>

Geschrieben

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

Geschrieben

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 ?

Geschrieben

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

Geschrieben
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*

Geschrieben

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

Geschrieben

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

Geschrieben

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.

Geschrieben

nichts besonderes...wir haben alle den Fehler mit in unser Denken übernommen... seltsamerweise blieb die übliche Frage nach "mehr Informationen" lange zeit aus..

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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