Avatar billede cyberdude Nybegynder
04. juli 2004 - 16:11 Der er 4 kommentarer og
1 løsning

formulare, for lykker og funktioner

Hejsa!

Har følgende formular :
<table width="100%" border="0" align="center" cellpadding="5" cellspacing="0">
<?
                                    // hent informationer om den side der tilknyttes filer til
$get_side = sql("select * from inhold where id = '$sid'");
$row_side = mysql_fetch_row($get_side);
?>
<tr>
<td class="border-b" valign="top" width="75%">
<?
echo "Du er ved at tilknytte filer til følgende side <b>$row_side[2]</b>";
?>
</td>
</tr>
<form action="sider.php" name="tilknyt_filer" method="post">
<input type="hidden" name="sid" value="<?=$sid;?>">
<?
$i =1;
// hent informationer om tilgængelige filer
$get_filer = sql("select * from lfdb_files where aktiv ='1' order by fil");
$antal_filer = mysql_num_rows($get_filer);
while ($row=mysql_fetch_row($get_filer)) {
?>
<tr>
<td valign="top" align="left" width="75%">
<input type="checkbox" name="fil_id[<?=$i;?>]" value="<?=$row[0];?>"> <?=$row[3];?><br>
</td>
</tr>
<?
$i++;
}
?>
<tr><td>
<input type="hidden" name="antal_filer" value="<?=$antal_filer;?>">
<input type="submit" name="submit_fil_til_side" value="Tilknyt disse filer" class="button2">
</td></tr>
</form>
</table>

og følgende funktioner til at behnadle formularens data med :
if(isset($submit_fil_til_side)) {
$antal_fil_id = "$antal_filer";
for($i =1; $i < $antal_filer; $i++) {
TilknytFil($sid,$fil_id[$i]);
}
}
function TilknytFil($sid,$fil_id[$i]) {
global $respons_msg;
sql("inset into side_fil(id,fil_id,side_id) VALUES ('','$fil_id[$i]',$sid)");
$respons_msg = "Fil(erne) er tilknyttet siden";
}


Problemet er at det giver fejl i funktionen.

Det kan være op til 30-40 filer der er muligt at tilknytte den enkelte side, men fil tallet variere efter hvor mange filer brugeren nu har uploadet

Jeg vil have indsat følgende i en database
side_id
fil_id

side_id får jeg fra variablen $sid
men problemet er at få overført $fil_id[] og få den med gennem funktionen

Nogen bud på hvad jeg kan gøre for at få den med ?
Avatar billede jaw Nybegynder
04. juli 2004 - 16:46 #1
Hvis jeg forstår dig rigtigt, kan du jo køre en løkke med alle din $fil_id[]

for($i = 0; $fil_id[$i] != ""; $i++) {
//
}

Vist nok også
$antal = count($fil_id);
for($i = 0; $id <= $antal; $i++) {
//
}
Avatar billede cyberdude Nybegynder
04. juli 2004 - 17:11 #2
er kommet lidt vidre, men alt afhængig af hvilke filer jeg vælger bliver resultatet ikke korekt....

kan denne her laves om således
for($i = 0; $fil_id[$i] != ""; $i++) {

jeg har en variabel ved navn $antal_filer som indeholder det maksimale antal filer $fil_id[$i] der skal tjekkes for, og så tænkte jeg om man kunne starte $i ved 0 og fortsætte indtil alle var løbet igennem ved at fortsætte indtil nummeret i $antal_filer er = med $i
???
Avatar billede jaw Nybegynder
04. juli 2004 - 17:13 #3
Det kan du jo sådan set sagtens, så er det bare:

for($i = 0; $i <= $antal_filer; $i++) {
Avatar billede cyberdude Nybegynder
04. juli 2004 - 17:23 #4
weee tak for hjælpen,det funger

det komplette funktion kom til at se sådant her ud
if(isset($submit_fil_til_side)) {
$fil_antal = "$antal_filer";
for($i = 1; $i <= $fil_antal; $i++) {
$file_id = $fil_id[$i];
if(!$file_id == '0') {
TilknytFil($sid,$file_id);
}
}
}


Smid et svar for point.
Avatar billede jaw Nybegynder
07. juli 2004 - 15:54 #5
Hov, havde jeg faktisk ikke set, men det vil jeg da gøre med det samme så :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester