Antworten auf deine Fragen:
Neues Thema erstellen

Insert MySql

redbull2906

Nicht mehr ganz neu hier

Hallo Leute,

hat einer von euch evtl .ne erklärung warum meine Tabelle beim Insert-Befehl statt der gewollten bzw. max-Anzahl von 9 Datensätzen immer 10 einfügt? Beim 10 Eintrag sind alle Inhalt natürlich null - klar aus dem Formular kommen ja auch nur 9 eingaben.

Irgendwie komisch....
 

redbull2906

Nicht mehr ganz neu hier

AW: Insert MySql

Sorry
hier mal mein neuer Code - aber jetzt häng ich schon allein an überprüfung ob alle Felder ausgefüllt sind...arrrr

PHP:
<?
//////////////Ergebnisse eintragen
$abfrage = "SELECT * FROM spieltag WHERE spieltag=".$_GET['sptg']."";
$ergebnis = mysql_query($abfrage);
$i=0;
$spieltag=$_GET['sptg'];
if($_POST['Send']) //Prüfen ob Senden gedrückt
{
    $zahl=count($_POST['heim']); //Anzahl der Inhalte (Heim) zur prüfen ob Daten eingegeben
    for($c=0;$c<$zahl;$c++)
    {
    $heim = $_POST['heim'][$c];
    $gast = $_POST['gast'][$c];
    }
            if($heim=='' || $gast=='') // Wenn keine Daten eingegeben - Fehler melden
            {
            echo 'Fehler - Bitte alle F&auml;der ausf&uuml;llen!';
            ?>
            <form action="<? print $PHP_SELF ?>" method="post">
            <?
            echo '<table><tr><th>Heim</th><td></td><th>Gast</th><th colspan="2">Ergebniss</th></tr>';
                while($row=mysql_fetch_array($ergebnis))
                {
                echo '<tr><td>'.$row["heim"].'</td><td>:</td><td>'.$row["gast"].'</td><td><input type="text" size="2" name="heim['.$i.']" /><input type="hidden" name="id['.$i.']" value="'.$row["spiel_id"].'" /></td><td><input type="text" size="2" name="gast['.$i.']" /><input type="hidden" name="id['.$i.']" value="'.$row["spiel_id"].'" /></td></tr>';
                $i++;
                }
            echo '</table>';
            echo '<input type="submit" name="Send" value="Absenden" />';
            echo '</form>';
            }
            else
            {
                if(is_numeric($heim) and is_numeric($gast))
                {
                    //Daten eintragen
                    for($a=0;$a<=$anzahl;$a++)
                    {
                    $tipph = $_POST['heim'][$a];
                    $tippg = $_POST['gast'][$a];
                    $spielid = $_POST['id'][$a];
                    $eintragen = "INSERT INTO spieler (spiel_id, spieltag, tipph, tippg) VALUES ('$spielid', '$spieltag', '$tipph','$tippg')";
                    $update=mysql_query($eintragen);
                    }
                    echo 'Daten wurden eingetragen';
                }
                else
                {
                echo 'Bitte nur Zahlen eintragen!';
                }
            }    
}
else //Wenn kein Send gedrückt wurde
{
?>
<form action="<? print $PHP_SELF ?>" method="post">
<?
echo '<table><tr><th>Heim</th><td></td><th>Gast</th><th colspan="2">Ergebniss</th></tr>';
    while($row=mysql_fetch_array($ergebnis))
    {
    echo '<tr><td>'.$row["heim"].'</td><td>:</td><td>'.$row["gast"].'</td><td><input type="text" size="2" name="heim['.$i.']" /><input type="hidden" name="id['.$i.']" value="'.$row["spiel_id"].'" /></td>
    <td><input type="text" size="2" name="gast['.$i.']" /><input type="hidden" name="id['.$i.']" value="'.$row["spiel_id"].'" /></td></tr>';
    $i++;
    }
echo '</table>';
echo '<input type="submit" name="Send" value="Absenden" />';
echo '</form>';
}
 
Zuletzt bearbeitet:

redbull2906

Nicht mehr ganz neu hier

AW: Insert MySql

STOP!!!!

:D

Hab meinen Fehler gefunden - meine kleinen grauen Zellen mal übelst angestrengt *g*

Hab bei der While-Schleife die $i auf 1 gesetzt - Nu geit det!

Sorry für die Mühe die ich euch evtl. gemacht hab

Danke
 

redbull2906

Nicht mehr ganz neu hier

AW: Insert MySql

Eine Frage habe ich jedoch jetzt noch dazu

Da ich ja mehrere Inputfelder durch die while schleife erhalte und diese dann mit count in ein array speichere - wie kann ich denn jetzt prüfen ob auch wirklich jedes Feld ausgefüllt wurde?

Im moment kann ich nur im letzt input-Feld was eintragen und der geht im Script weiter. Was er aber je net tun soll wenn die anderen Felder leer sind.

Muss dazu sagen das ich an den arrays eh am verzweifeln bin - versteh des immer noch net richtig.
 

redbull2906

Nicht mehr ganz neu hier

AW: Insert MySql

@CIXX88 - und was wäre dein Lösung?? Und warum der schlampige Umgang? Weil ich noch relativ am Anfang steht und überall siehst du zum lernen solche Abfragen!

@ all

ok - ich und array - das verträgt sich noch net so wirklich gut wie würde denn meine Bedingung dann aussehen?

etwa so

if(trim($_POST['heim'])!=''
.....usw

???
 

redbull2906

Nicht mehr ganz neu hier

AW: Insert MySql

hab schon mal quer gelsen - des is ja der punkt - willst glei anständig haben damit son kappes net passiert.

na ich schaus mir mal in ruhe nochma an
 

redbull2906

Nicht mehr ganz neu hier

AW: Insert MySql

Hab die Abfrage von Top-Gun mal zusammen gebastelt.

Habe ich jetzt mehr als ein input-feld und fülle nur das letzte aus geht des script weiter obwohl im ersten nichts drin steht - er soll aber erst weiter machen wenn alle Felder gefüllt sind!
Schreibe ich nur etwas ins erste input-feld und lass das letzte feld frei stop er das script.

Wo liegt denn mein Fehler?
Wie muss ich die Abfrage schreiben wenn ich mehr als nur 1 input-Feld habe?

Irgendwie raff ichs net - scheiß anfänger ;)
 

saila

Moderatorle

AW: Insert MySql

Wie dein Name wohl verrät - etwas ungeduldig ;)

Für das Formular musst du alle für dich erforderlichen Felder auf Inhalte prüfen. Sprich das gleiche bei den restlichen (Pflichtfelder) wie bei $_POST['heim'] (siehe letzter Beitrag von TopGun)
 

redbull2906

Nicht mehr ganz neu hier

AW: Insert MySql

Des hab ich jetzt nur mal zum testen und evtl. verstehen aufgebaut
PHP:
<?
$text=array("klaus","bärbel");
$i=0;
if($_POST['send'])
{
 if(isset($_POST['heim']) && trim($_POST['heim']) != '')
 {
 echo 'weiter gehts!';
 }
 else
 {
 echo 'STOP!';
 }
}
else
{
?>
<form action="<? print $PHP_SELF ?>" method="post">
<?
while($i< count($text))
{
echo '<input type="text" name="heim" />';
$i++;
}
echo '<input type="submit" name="send" value="Absenden" />';
echo '</form>';
}
?>
 

redbull2906

Nicht mehr ganz neu hier

AW: Insert MySql

Aber wenn ich nur ein Input-Feld generiere das ich durch eine Schleife jeweils um 1 erhöhe (weil ich meine daten normalerweise aus der DB ziehe) muss ich denn da was anderes schreiben?

Aber hast recht bin wohl zu ungeduldig - lässt mir kene ruhe bis es endlich geht *g*
 

Top_Gun

Aktives Mitglied

AW: Insert MySql

Ah ok ich seh schon... Wir, insbesondere ich, scheine dich mit dem "array" bissl verwirrt... die $_POST Daten sind schon ein array... dieses solltest du überprüfen...

Verwerf deinen neuesten Versuch (oder sag wenn du wissen möchtest wie das geht [denn das ginge auch]) und geh zurück zu deinem anfänglichen Formular...
 

redbull2906

Nicht mehr ganz neu hier

AW: Insert MySql

Ok, hier mein quasi neuer Quellcode!

Lass ich das letzte Feld frei - gibt er "STOP" aus - geb ich nur was ins letzte ein gibt er "weiter gehts" aus!

Also irgendwie....

PHP:
<?
$i=0;
if($_POST['send'])
{
 if(isset($_POST['heim']) && trim($_POST['heim']) != '')
 {
 echo 'weiter gehts!';
 }
 else
 {
 echo 'STOP!';
 }
}
else
{
?>
<form action="<? print $PHP_SELF ?>" method="post">
<?
while($i< 2)
{
echo '<input type="text" name="heim" />';
$i++;
}
echo '<input type="submit" name="send" value="Absenden" />';
echo '</form>';
}
?>
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.635
Beiträge
1.538.453
Mitglieder
67.557
Neuestes Mitglied
Charal
Oben