Suchen
Inside Forum
Nützliche Links
PHP Jobs
phpforum.de Tipp
 
phpforum.de bei Facebook
 
phpforum.de bei Twitter
 
PHP Test


werbung



Zurück   PHP Forum: phpforum.de > PHP > PHP

PHP Alles rund um PHP

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 06.10.2005, 17:42
Mr Sark Mr Sark ist offline
Neuer Besucher
 
Registriert seit: 06.10.2005
Beiträge: 2
Standard

Hallo :-)

Bin schon leicht am Verzweifeln, vielleicht kann mir ja einer von euch weiterhelfen.

Ich habe eine Kursliste und eine Teilnehmerliste. In der Teilnehmerliste stehen neben dem Namen noch jeweils Felder zu jedem Kurs. Die Tabelle wird jedesmal erweitert, wenn man einen neuen Kurs einträgt.

Beim Teilnehmer soll man nun per Radiobutton pro Kurs anklicken können, ob er teilgenommen hat oder nicht.

Dadurch dass die Felder erweitert werden, hole ich mir das aus der Tabelle und gebe es im Formular mit einer while-Schleife aus.

Aber wie kriege ich das jetzt in die Datenbank? Wenn ich das übermittle, dann kann ich ja keine vordefinierten Variablen angeben und es ist ja auch keine vordefinierte Zahl von Kursen da.

Die Fragen sind, wie kann ich die Daten aus der While-Schleife (im Formular) wieder auslesen, dass ich sie in der oberen If-Schleife nutzen kann und wie verpacke ich das dann in den Insert-Befehl? Die zwei Variablen, wo ich die Namen kenne, sind ja kein Problem, aber wie macht man das mit Variablen, wo ich den Namen nicht kenne bzw die sich ändern können im Namen und vor allem bei der Anzahl?

Vielleicht weiß ja jemand Rat? :-)

Hier ist mal der Code:
PHP Quellcode:
<?PHP
    include('db.inc.php');
    if (isset ($_REQUEST['submit'])) {
        $name   = $_REQUEST['name'];
        $fields   = $_REQUEST['fields'];
        //Hier fehlen die restlichen Variablen ?
        $query  = " insert into teilnehmer (ID, NAME) ";
        $query .= " values ('','$name', /Hier fehlen die restlichen Inserts?)";
        $result= mysql_query($query,$con);
        mysql_close();
    }
    // Datensätze aus der Datenbank auslesen (Teilnehmer-Tabelle)
    $query_tn  = "select * from teilnehmer";
    $result_tn = mysql_query($query_tn,$con);

    $fields = mysql_num_fields($result_tn);
    $fields = $fields-2;

    // Datensätze aus der Datenbank auslesen (Kurs-Tabelle)
    $query_ku  = "select CODE from kurse";
    $result_ku = mysql_query($query_ku,$con);
?>

<HTML><HEAD><TITLE> Kurse </TITLE></HEAD><BODY>
<form action="<?PHP echo $_SERVER['PHP_SELF'] ?>" method="post" name="Kurse">
<table>
    <tr>
        <td colspan="3">Neuer Teilnehmer:</td>
    </tr>
    <tr>
        <td>Name:</td>
        <td><input type="text" name="nick"></td>
    </tr>
    <tr>
        <td>Nr</td>
        <td>Code</td>
        <td>Teilnahme</td>
    </tr>
    <?PHP
    $i = 1;
    while($row = mysql_fetch_row($result_ku)) {
        echo "<tr>";
        echo "<td>$i</td>";
        echo "<td>$row[0]</td>";
        echo "<td><input type=\"radio\" name=\"$row[0]\" value=\"J\"> Ja <input type=\"radio\" name=\"$row[0]\" value=\"N\"> Nein</td>";
        echo "</tr>";
        $i++;
        }    
    ?>
    <tr>
        <td colspan="3">
        <input type="hidden" name="fields" value="<?PHP echo $fields ?>">
        <center><input type="submit" name="submit" value="Eintragen"></center></td>
    </tr>
</table></form></BODY></HTML>
Mit Zitat antworten
  #2  
Alt 06.10.2005, 18:51
Gary Gary ist offline
Forum-Mitarbeiter
 
Registriert seit: 25.05.2004
Beiträge: 13.400
Standard

Du könntest die Anzahl der Datensätze im Array $_POST ermitteln und dann die Ausgabe ab dem dritten vorhanden Datensatz in das SQL-Statement schreiben...
__________________
Gary
=============================
Schreie nach Besserem, bis du es auch erhältst. Das noch Bessere verabschiedet sich rechtzeitig vor deinem Lärm.
© Martin Gerhard Reisenberg (*1949)
Mit Zitat antworten
  #3  
Alt 07.10.2005, 13:28
Mr Sark Mr Sark ist offline
Neuer Besucher
 
Registriert seit: 06.10.2005
Beiträge: 2
Standard

Jo danke :-) Aber mein Problem ist: wie mache ich dem $query klar, wieviele Datensätze er aufnehmen soll.

Es kann ja von mal zu mal verschieden sein, dass er

$query = " insert into teilnehmer (ID, NAME) ";
$query .= " values ('','$name','eintrag1','eintrag2','eintrag3')";

und beim nächsten mal

$query = " insert into teilnehmer (ID, NAME) ";
$query .= " values ('','$name','eintrag1','eintrag2','eintrag3','eint rag4,'eintrag5')";

ich kann ja in der variablen $query keine schleife ablaufen lassen, die mir je nach bedarf die vorhandene anzahl anzeigt.

es soll praktisch das ergebnis einer for-schleife in eine variable geschrieben werden, nur wie mache ich das? per echo den string ausgeben ist ja kein problem, aber wie krieg ich das in die variable?

PHP Quellcode:
$gesamt = ergebnis aus for-schleife (?)

for ($a=1;$fields<=5;$a++) {
    echo ",'".${(eintrag).$a}."'";
    }
Mit Zitat antworten
  #4  
Alt 07.10.2005, 13:44
Swiftnick Swiftnick ist offline
Forum-Mitarbeiterin
 
Registriert seit: 03.03.2004
Beiträge: 6.176
Standard

Deine Datenbankstruktur ist falsch.

"Die Tabelle wird jedesmal erweitert, wenn man einen neuen Kurs einträgt." ist, sorry, völlig daneben.

Du brauchst eine Tabelle Teilnehmer, eine Tabelle Kurse und eine dritte Tabelle in der du mit Teilnehmer-ID und Kurs-ID erfasst, welcher Teilnehmer welchen Kurs belegt.

So wie du das jetzt hast, wirst du immer Schwierigkeiten haben und die Kunstkniffe, die du anwenden musst, werden immer komplizierter.
__________________
Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Denn jedermann ist überzeugt, dass er genug davon habe.
René Descartes
Mit Zitat antworten


Antwort

Lesezeichen

Themen-Optionen
Ansicht

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.

Gehe zu
Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
variablenProblem Uschi PHP 0 13.05.2005 10:36
Variablenproblem?! whiskey PHP 3 04.10.2004 21:42
Variablenproblem JanM PHP 8 28.08.2004 00:01
Variablenproblem Thomson87 PHP 1 17.03.2004 01:05
Variablenproblem Tobias Hutterer PHP 1 01.01.1970 01:00


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:15 Uhr.


Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Powered by NuWiki v1.3 RC1 Copyright ©2006-2007, NuHit, LLC