22. maj 2003 - 02:34
Der er
13 kommentarer og 1 løsning
Hjælp til array
$spiller = mysql_query("select * from fvbk where hold ='ungdom' order by fornavn asc") or die(mysql_error()); $number2 = mysql_num_rows($spiller); while ($row = mysql_fetch_array($spiller)) { ?> <input type="checkbox" name="spiller_in" value="<?=$row[fornavn]." ".$row[efternavn];?>" style="background-color: transparent; border: none;"> <?=$row[fornavn]." ".$row[efternavn];?><br> <?}?> Ovenstående henter en stak navne, hvoraf jeg skal kunne vælge x-antal vha checkboxen og så gemme dem i en ny DB. Hvordan gøres dette smartest??
Annonceindlæg fra SuperOffice
Hvis der skal indsættes en række i den nye tabel for hver valgt spiler, så burde du kunne gøre således: <?php $spiller = mysql_query("select * from fvbk where hold ='ungdom' order by fornavn asc") or die(mysql_error()); $number2 = mysql_num_rows($spiller); while ($row = mysql_fetch_array($spiller)) { echo "<input type=\"checkbox\" name=\"spiller_in[]\" value=\"$row[fornavn] $row[efternavn]\" style=\"background-color: transparent; border: none\">$row[efternavn]<br>"; } for($i=0; $i < count($_POST['spiller_in']); $i++) { if ($_POST['spiller_in'][$i] != "") { $tmp = $_POST['spiller_in'][$i]; mysql_query("INSERT INTO tabel (spiller) VALES('$tmp')") or die mysql_query()); } } ?> Det er dog utestet.
skal lige være: mysql_query("INSERT INTO tabel (spiller) VALUES ('$tmp')") or die mysql_query());
mysql_query("INSERT INTO tabel (spiller) VALUES ('$tmp')") or die mysql_error(); måske?? //sostack
Skulle selvfølgelig være: mysql_query("INSERT INTO tabel (spiller) VALUES ('$tmp')") or die (mysql_query());
Man kan også bare indsætte alle rækkerne på én gang: INSERT INTO table (a,b,c) VALUES (1,2,3), (4,5,6), (7,8,9) ovenstående fylder 3 rækker på "table" i felterne a, b og c
lidt hurtigere/nemmere for db-serveren.
tipsen >> Den kendte jeg ikke. Tak for tippet ;o)
schaefner: Det ser meget lovende ud, og det ser ud til jeg er på dybt vand. jeg har brug for lidt mere hjælp. Flg. script opdaterer ikke noget i DB: <? if ($action=="opdater"){ for($i=0; $i < count($_POST['spiller_in']); $i++) { if ($_POST['spiller_in'][$i] != "") { $tmp = $_POST['spiller_in'][$i]; mysql_query("INSERT INTO kids_spiller (id,spiller,level) VALUES ('$staevne','$tmp','$level')") or die (mysql_query()); } }?> <div align="center"><h3><?echo "Opdateret";?></h3></div> <br><br><a href="kids_menu.php">Retur til menuen</a><br> <?exit;} if (!$staevne){ $result = mysql_query("select * from kids ORDER BY dato desc") or die(mysql_error()); $number = mysql_num_rows($result); ?> <form method="POST"> <select size="1" name="staevne" onchange="this.form.submit();"> <option selected value></option> <? while ($row = mysql_fetch_array($result)) {?> <option value="<? echo $row[id];?>"><? echo flot_dato($row[dato])." ".$row[spillested];}?></option> </select><?}?></form> <?if ($staevne){?> <form action="<? echo $php_self; ?>" method="post"> <input type="hidden" name="id" value="<? echo $staevne;?>"> <? $result = mysql_query("select * from kids where id ='$staevne'") or die(mysql_error()); $row = mysql_fetch_array($result); ?> Sæt kryds ved de spillere som er med til stævnet den: <b><?=flot_dato($row[dato]);?></b>. <table border=0 width=100%> <tr> <td width=20%>Level: </td> <td width=80%><select size="1" name="level"> <option selected value>vælg level</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> </select></td></tr></table> <table border=0 width=100%><tr><td width="20%" valign="top">Spillere: </td> <td width=80%><? $spiller = mysql_query("select * from fvbk where hold ='ungdom' order by fornavn asc") or die(mysql_error()); $number2 = mysql_num_rows($spiller); while ($row = mysql_fetch_array($spiller)) { echo "<input type=\"checkbox\" name=\"spiller_in[]\" value=\"$row[fornavn] $row[efternavn]\" style=\"background-color: transparent; border: none\">$row[fornavn] $row[efternavn]<br>"; } ?> </td></tr></table><br> <div align="center"><input type="submit" name="action" size=10 value="opdater"></div></form> Tipsen: Igen, du er langt længere fremme end jeg. Det vil kræve et mere uddybende eksempel for at jeg fatter bare lidt af det du skriver. :)
schaefner er sikkert mand for at oversætte :-)
Desværre ikke nu, da jeg forlader computeren de næste par timer.
Tid er point, og jeg venter gerne :o)
Schaefner, det virker, tak for hjælpen, smid et svar.
Schaefner, 60 p for et svar eller der lukkes....
Vi tilbyder markedets bedste kurser inden for webudvikling