php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 15.08.2006, 15:38  
Neuer Benutzer
 
Registriert seit: 26.02.2006
Beiträge: 4
gulli23
Standard Problem bei Abfrage Quizfragen aus Datenbank

Hallo,

hoffe ihr konnt mir bei folgendem Problem helfen.
Ich möchte aus einem Quiz die Fragen, Antworten und Antwortenmöglichkeiten auslesen und in eine Textdatei schreiben. Die Quiz-Daten sind in MySQL-Datenbank gespeichert.

Mit meinen vorhandenen Quellcode würde es auch wunderbar gehen, wenn da nicht unterschiedlich viele Antwortenmöglichkeiten geben würde.

Also erstma die vorhandenen Tabellen:
`antworten` (`TestTyp`, `FrageID`, `AntwortID`, `Antwort`, `Korrektheit`)
`fragen` (`TestTyp`, `FrageID`, `FrageTyp`, `Kategorie`, `Frage`, `Beschreibung`, `Bild`, `Datum`)

Da es verschiedene Kategorien gibt, frage ich erstma über Checkboxen ab, welche Kategorien gewünscht sind.
Im Folgenden ist nun der auswertungs-code zu sehen

PHP-Code:
<?php
$datei 
fopen("fragen.txt""w+");    //Dateigröße wird auf 0 Byte gesetzt
foreach ($_POST['seite'] as $test) {


            include (
'config.php');
            
$db_link mysql_connect(MYSQL_HOSTMYSQL_USERMYSQL_PASS);
            
mysql_select_db ("xxxx");
                 
$sqltemp "SELECT Frage, Beschreibung, Kategorie, FrageID  FROM fragen WHERE Kategorie='$test' ORDER BY FrageID;";

                 
$sqltemp2 "SELECT Antwort, antworten.FrageID FROM antworten INNER JOIN fragen USING (FrageID) WHERE AntwortID=\"1\" AND Kategorie='$test' ORDER BY FrageID;";
                 
$sqltemp3 "SELECT Antwort, antworten.FrageID FROM antworten INNER JOIN fragen USING (FrageID) WHERE AntwortID=\"2\" AND Kategorie='$test' ORDER BY FrageID;";
                 
$sqltemp4 "SELECT Antwort, antworten.FrageID FROM antworten INNER JOIN fragen USING (FrageID) WHERE AntwortID=\"3\" AND Kategorie='$test' ORDER BY FrageID;";

                 
$querytemp mysql_query($sqltemp) OR die(mysql_error());
                 
$querytemp2 mysql_query($sqltemp2) OR die(mysql_error());
                 
$querytemp3 mysql_query($sqltemp3) OR die(mysql_error());
                 
$querytemp4 mysql_query($sqltemp4) OR die(mysql_error());

                 
$datei fopen("fragen.txt""a+");
                 
$inhalt1 "$test\n\n\n";  //Name der Kategorie
                 
fwrite($datei$inhalt1);
                 
fclose($datei);
                 while(
$row mysql_fetch_row($querytemp) AND $row2 mysql_fetch_row($querytemp2) AND $row3 mysql_fetch_row($querytemp3) AND $row4 mysql_fetch_row($querytemp4)  )
                        {

                         
$datei fopen("fragen.txt""a+");
                         
$inhalt2 "Frage: $row[0]\n\n";    // Die Frage
                         
$antwort1 "a) $row2[0]\n";
                         
$antwort2 "b) $row3[0]\n";
                         
$antwort3 "c) $row4[0]\n\n";
                         
$inhalt3 "Antwort: $row[1]\n\n\n";    // Die Antwort

                         
fwrite($datei$inhalt2);
                         
fwrite($datei$antwort1);
                         
fwrite($datei$antwort2);
                         
fwrite($datei$antwort3);
                         
fwrite($datei$inhalt3);
                         
fclose($datei);
                        }


                 }
?>
Damit bekomme ich nun nur die ersten 3 Antwortenmöglichkeiten, aber einige fragen haben auch 4,5 oder 6 möglichkeiten.

Wenn da jemand ne Idee hätte wäre das echt super.
Vielleicht bin ich mit meinen Gedanken auf dem Holzweg und man kann das alles schneller und effektiver abfragen.
gulli23 ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 16.08.2006, 08:12  
Erfahrener Benutzer
 
Registriert seit: 04.12.2005
Beiträge: 286
PHP-Kenntnisse:
Fortgeschritten
snatch-ic
Standard

mach es doch einfach so das du verknüpfung der tabellen so setzt das die antworten von der frage abhängig sind. du setzt also in der tabelle antworten ein feld in dem die id der jeweiligen frage steht. wenn du dann bei der frage bist schreibst du eine sql abfrage die dir alle antwortmöglichkeiten ausgibt die die id der frage haben.
so wie du es nämlich jetzt hast ist die ganze sache ziemlich statisch.

das könnte so aussehen:
PHP-Code:
$sqltemp2 "SELECT antworten.Antwort, antworten.FrageID, fragen.FrageID
FROM 
fragen
LEFT JOIN 
antworten
ON
antworten.FrageID = fragen.FrageID
WHERE antworten.FrageID=$FrageID AND Kategorie='$test' 
ORDER BY antworten.FrageID;"

mfg snatch
snatch-ic ist offline   Mit Zitat antworten
Antwort


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
Problem mit kleiner Abfrage trash PHP Tipps 2008 14 06.07.2008 21:09
[Erledigt] MySql Frage: Problem mit einer etwas lomplexeren Abfrage tomtaz Datenbanken 5 24.06.2008 22:36
[Erledigt] Datenbank abfrage Potterfans PHP Tipps 2008 4 12.06.2008 22:37
problem mit einer datenbank Pflaume91 PHP Tipps 2008 5 04.09.2007 11:05
While schleife mit Datenbank in ein Dropdown Feld (Umlaut Problem) kintaro PHP Tipps 2008 6 28.08.2007 19:11
Abfrage Problem mastermix Datenbanken 2 06.08.2007 11:45
Newsletter email abfrage Problem mokus PHP Tipps 2006 7 18.04.2006 16:35
problem bei ausgabe einer abfrage aus 2 Tabellen Lia PHP Tipps 2005-2 2 28.07.2005 17:30
datenbank Abfrage in Var schreiben web2 PHP Tipps 2005-2 3 22.07.2005 12:59
[Erledigt] MySQL Abfrage fieses Problem Datenbanken 5 21.07.2005 14:19
Problem 2 - komplexere Abfrage aus drei Tabellen Datenbanken 0 15.07.2005 13:59
[Erledigt] Problem mit Abfrage Datenbanken 2 07.02.2005 23:14
Abfrage Problem suter PHP Tipps 2005 21 19.01.2005 11:46
Problem mit Abfrage und Limit PHP Tipps 2004 5 14.10.2004 08:16
Problem beim importieren einer Datenbank PHP Tipps 2004 8 09.08.2004 15:05

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
quiz datenbank, quizfragen datenbank, datenbank quiz, quiz fragen datenbank, quizfragen mit antworten, quizfragen mit 3 antworten, quiz mit datenbank, abfrage quiz de, quizfragen, datenbank für ein quiz, datenbanken quiz, quiz datenbanken, fragen datenbank php, datenbank quizfragen, datnebank quiz, datenbank für quiz, datenbanken quizfragen, php quiz mit datenbank, quizfragen txt, quiz fragen und antworten datei

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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.