PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : mehrere daten in verschiedene zeilen eintragen



Draco
16.09.2003, 10:44
hi

also ich versuch mich gerade an nem script wo ich mehrere zeilen in eine tabelle schreiben kann. Also bis jetzt läuft es ja sehr gut nur will der mir igendwie nicht die daten eintragen

und fehlermeldung bekomme ich keine


<?php
include("sql_config.php");

$cardstoadd = 17;

echo"<form method=\"POST\" action=\"tcg.php\" name=\"posting\">";
echo"<table>";
//Formular für Cards::::::::::::::::::::::::::::::::::::::

for($i=1; $i<$cardstoadd; $i++) {
echo "<tr>
<td class=\"right\">
Set: <input type=\"varchar\" name=\"setname[$i]\" size=\"20\">
Card: <input type=\"varchar\" name=\"dateiname[$i]\" size=\"30\">
</td></tr>";
}
echo"</table>";
echo"<input type=\"hidden\" name=\"check\">";
echo"<input type=\"submit\" value=\"Eintragen\" name=\"B1\">";

if($check)
{
//Cards in der Datenbank speichern ::::::::::::::::::::::::::::::::::::::::::::

for($i=1; $i<$linkstoadd; $i++) {
$sqlbefehl = "Insert Into tcg (setname,dateiname) values ('$setname[$i]','$dateiname[$i]')";
mysql_query($sqlbefehl) or die(mysql_error());
echo "<p class=\"klein\">Karten wurden in die Datenbank eingetragen</p>";
}
//Cards in der Datenbank speichern :::::::::::::::::::::::::::::::::::::::::::::
}
?>

is wie gesagt das erste mal das ich sowas versuche und ich hoffe ihr könntmir weiterhelfen da ich den fehler einfach nicht finde *arg*

thx im Vorraus

s.molinari
16.09.2003, 14:31
Hi Draco,

Wieviele 'linkstoadd' gibt es?;)

Scott

Draco
16.09.2003, 14:49
*sich aufs hirn greifen ^^*
is ja wiedermal typisch
wollt das teil auch für ne kleine linksammlung verwenden *arg*

danke ihr seit super, gleich mal probiere :D

nachtrag:
irgendwie wills trotzdem net :(
fehlermeldung bekomm ich auch keine

naja mal schaun

martin
16.09.2003, 15:09
benutz das und spiel damit rum:



<?php

error_reporting(E_ALL);

$hinweis = '';
$cardstoadd = 17;
$i = 0;

if (isset($_POST['check'])) // Formulardaten speichern
{
if (array_test('setname', $hinweis) !== true)
{
exit($hinweis);
}
if (array_test('dateiname', $hinweis) !== true)
{
exit($hinweis);
}

require_once './sql_config.php';

for($i=0; $i < $cardstoadd; $i++)
{
mysql_query("INSERT INTO tcg
(setname, dateiname)
VALUES
('".addslashes($_POST['setname'][$i])."','".addslashes($_POST['dateiname'][$i])."')
") or die(mysql_error());
}

echo '<p class="klein">Karten wurden in die Datenbank eingetragen</p>';
exit;

} // Formulardaten speichern ENDE
else
{ // Formular ausgeben

?>
<form method="POST" action="tcg.php" name="posting">
<table>
<?php

while($i < $cardstoadd)
{
$i++;
?>
<tr>
<td class="right">
Set: <input type="varchar" name="setname[]" size="20">
Card: <input type="varchar" name="dateiname[]" size="30">
</td></tr>

<?php
}


?>
</table>
<input type="hidden" name="check" value="check">
<input type="submit" value="Eintragen" name="B1">
<?php
exit;
} // Formular ausgeben ENDE


function array_test($name, &$hinweis)
{
global $cardstoadd;

if (isset($_POST[$name]))
{
if (is_array($_POST[$name]))
{
if (count($_POST[$name]) === $cardstoadd)
{
return true;
}
else
{
$hinweis = 'Die Anzahl der übergebenen Felder im Array <b>' . $_POST[$name] . '</b> (' . count($_POST[$name]) . ') entspricht nicht der Anzahl der vorgegebenen Felder (' .$cardstoadd. ').';
return false;
}
}
else
{
$hinweis = '$_POST[' . $name . '] ist kein Array.';
return false;
}
}
else
{
$hinweis = '$_POST[' . $name . '] existiert nicht.';
return false;
}
}


?>


ich hab das nicht weiter getestet, gewöhnlich vergess ich immer irgendwelche semikolon oder anführungszeichen. das wird sich aber entsprechend bemerkbar machen, sollte das der fall sein.

aber bevor du damit rumspielst, da gibts viel zu lesen für dich :D :
http://tut.php-q.net/

und das kapitel über formulare:
http://tut.php-q.net/formulare.html

Draco
16.09.2003, 15:34
leute ihr seit die besten :D
ne jetzt voller ernst, hab noch wo anders angefragt und bekam unfreundlich ne antwort bzw eine die mir nicht viel brachte :D

werd mir das mal zu hause dann zu gemüte führen :D

nachtrag:
getestet und funkt einwandfrei
ich quäl mich da mit meinem kleinen rum und dein funkt einwandfrei
danke nochmal