Archief - PHP: for functie, met array werkt niet

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Cyberkid

Legacy Member
Heb ergens een kalender script gevonden 'k weet niet meer juist maar, maar dit ben ik dan beginnen aanpassen (omdat ik zelf geen php kan schrijven, begrijp het wel voldoende om het wat te proberen aan te passen), nu zit'k met volgend probleem:
'k heb een for functie staan die variabelen moet samenvoegen die variablen zijn tekst stukjes, effe de code:

PHP:
for ($l=0;$l<=3;$l++)
{
$tekst = "".$tekst.$titel[$l].", ";
}
echo "<td bgcolor=#990000 style=\"cursor:hand\" onclick=\"gotourl('bekijk.php?datumkijk=".$dagtedoen[$tedoen]."&month=".$month."&year=".$year."')\" onmouseover=\"movein(this)\" onmouseout=\"moveout(this)\" height=\"20\"  align=\"center\">
<a title=".$tekst.">".$i."</a></td>";

}


nu over dienen echo moet je niet et letten om de rest dat erin staat, het gaat om de variable $tekst hier dus, als uitput krijg'k zogezegd enkel $titel[0], en dan niets meer dus $titel[1], enzo worden niet meer weergegeven. Die zou dus eigenlijk na titel[0] moeten komen

J3rry

Legacy Member
dunno maar ja loop gaat maar 3x is dit de bedoeling ?
wat als je array groter is ?

PHP:
for ($l=0;$l < sizeof($titel);$l++) {

}

ofwel:


PHP:
foreach ($titel as $l => $line) {

}
hierboven houd de variable $line de data vast die $titel[$l] vasthoud met een for loop

servi

Legacy Member
$tekst ="";
for ($l=0; $l< count($titel); $l++)
$tekst .= "".$tekst.$titel[$l].", ";

Cyberkid

Legacy Member
werkt nog nie, heb beide geprobeerd maar ofwel geeft em enkel de , weer ofwel enkel titel1
zal effe de volledige functie posten:

PHP:
if ($datenow == $dagt)
{
$db = $dagtedoen[$tedoen];

//data ophalen
$news_query2 = "SELECT * FROM agenda WHERE datumbw = '$db'";
$result2 = mysql_query($news_query2);
$k = 0;

$rows = mysql_fetch_row($result2);

for ($k=0;$k <= sizeof($rows);$k++)
{
$titel[$k] = $rows[1];
}

if ($k>=1)  //dus als er meerdere evenementen zijn op 1 dag
{
$tekst = "";
for ($l=0;$l<= sizeof($rows);$l++)
{
$tekst.= "".$tekst.$titel[$l].", ";
}
echo "<td bgcolor=#990000 style=\"cursor:hand\" onclick=\"gotourl('bekijk.php?datumkijk=".$dagtedoen[$tedoen]."&month=".$month."&year=".$year."')\" onmouseover=\"movein(this)\" onmouseout=\"moveout(this)\" height=\"20\"  align=\"center\">
<a title=".$tekst.">".$i."</a></td>";
}
else {
echo "<td bgcolor=#990000 style=\"cursor:hand\" onclick=\"gotourl('bekijk.php?datumkijk=".$dagtedoen[$tedoen]."&month=".$month."&year=".$year."')\" onmouseover=\"movein(this)\" onmouseout=\"moveout(this)\" height=\"20\"  align=\"center\">
<a title=".$titel[0].">".$i."</a></td>";

}
$tedoen++;
$dagte = explode('-', $dagtedoen[$tedoen]);

}

Cyberkef

Legacy Member
Aha ik zie het al :)

PHP:
$rows = mysql_fetch_row($result2);

Die gaat maar EEN rij resultaten afhalen, niet alles (wat jij dus vermoed)

PHP:
while($rows = mysql_fetch_row($result2))
{
$titel .= $rows[1] . ", ";
}

Dit zou kunnen doen wat jij nodig hebt ;)

Cyberkid

Legacy Member
doet het nog niet echt :confused: krijg nu dus titel[0], zogezegd dus den eerste titel en een ,.
dees is nu dan toch de code he ? die for's mochten dan weg.
Of heb'k nu weer ergens anders een fout gemaakt :confused:
PHP:
if ($datenow == $dagt)
{
$db = $dagtedoen[$tedoen];

//data ophalen
$news_query2 = "SELECT * FROM agenda WHERE datumbw = '$db'";
$result2 = mysql_query($news_query2);
$k = 2; //om te testen als er 2 evenenment op 1 dag zijn
while($rows = mysql_fetch_row($result2))
{
$titel .= $rows[1] . ", ";
} 

if ($k>=1) 
{
echo "<td bgcolor=#990000 style=\"cursor:hand\" onclick=\"gotourl('bekijk.php?datumkijk=".$dagtedoen[$tedoen]."&month=".$month."&year=".$year."')\" onmouseover=\"movein(this)\" onmouseout=\"moveout(this)\" height=\"20\"  align=\"center\">
<a title=".$titel.">".$i."</a></td>";
}
else {
echo "<td bgcolor=#990000 style=\"cursor:hand\" onclick=\"gotourl('bekijk.php?datumkijk=".$dagtedoen[$tedoen]."&month=".$month."&year=".$year."')\" onmouseover=\"movein(this)\" onmouseout=\"moveout(this)\" height=\"20\"  align=\"center\">
<a title=".$titel[0].">".$i."</a></td>";

}
$tedoen++;
$dagte = explode('-', $dagtedoen[$tedoen]);

}

btw een voorbeeld om het miss duidelijker te maken.

alvast bedankt vo et snelle antwoord :p

killgore

Legacy Member
met alle respect, maar u code trekt gewoon op niets.

Als je een query moet gaan loopen is de kans al vrij groot dat er iets fout zit in je logica ;).

Zal vanavond eens kijken wat exacte fout kan zijn als ze dan nog niet gevonden is, nu les.

Cyberkid

Legacy Member
et is dan ook mijn code niet :p
ik heb een script van phpfreakz gehaald bij gebrek aan de nodige php-kennis(eenvoudig kalender script met admin functie om dingen toe te voegen) nu ben'k da wa aan't proberen aanpassen zodat da script functioneerd naar mijn wensen.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan