|
| Checkboxes og array problem? Fra : Jørgen Staun |
Dato : 12-01-04 14:15 |
|
Jeg sidder og slås lidt med Checkboxes og et array. Min kode er som
nedenstående:
Det jeg prøver er at have en streng med et ukendt antal data (her blot
testdata), disse data bliver hentet fra en MySQL-base. Men når jeg laver mit
dataindhold som $indhold, så virker Foreach-løkken ikke - bruger jeg
$authors, så virker det. Kan nogen fortælle mig hvad forskellen er på det
jeg forsøger?
//DENNE VIRKER IKKE??
$indhold ="'J.R.R. Tolkien','Dr. Seuss','Dan Brown','Robert Ludlum','Gaston
Leroux'";
$authors = array($indhold);
//DENNE VIRKER
$authors = array('J.R.R. Tolkien','Dr. Seuss','Dan Brown','Robert
Ludlum','Gaston Leroux');
echo "<form action=\"{$_SERVER['PHP_SELF']}\" method=\"post\">\n";
foreach($authors as $author)
{
echo " <input type=\"checkbox\" value=\"{$author}\"
name=\"authors[]\">{$author}</input><br />\n";
}
echo " <input type=\"submit\" value=\"Submit\" name=\"submit\"/>\n";
echo "</form>\n";
echo "<hr />\n";
| |
Kristian Thy (12-01-2004)
| Kommentar Fra : Kristian Thy |
Dato : 12-01-04 14:13 |
|
Jørgen Staun uttered:
> //DENNE VIRKER IKKE??
> $indhold ="'J.R.R. Tolkien','Dr. Seuss','Dan Brown','Robert
> Ludlum','Gaston Leroux'";
> $authors = array($indhold);
Her er $authors et array som indeholder EEN streng, $indhold. Du har
jo sat "" om listen af forfattere.
> //DENNE VIRKER
> $authors = array('J.R.R. Tolkien','Dr. Seuss','Dan Brown','Robert
> Ludlum','Gaston Leroux');
Her sætter du en kommasepareret liste af strenge ind i et array.
\\kristian
--
To err is human. To moo, bovine.
| |
Thomas Lindgaard (12-01-2004)
| Kommentar Fra : Thomas Lindgaard |
Dato : 12-01-04 14:19 |
|
On Mon, 12 Jan 2004 14:14:31 +0100, Jørgen Staun wrote:
> //DENNE VIRKER IKKE??
> $indhold ="'J.R.R. Tolkien','Dr. Seuss','Dan Brown','Robert Ludlum','Gaston
> Leroux'";
> $authors = array($indhold);
Det er fordi
$streng = "'bla', 'bla'";
$array = array($streng);
giver
array("'bla', 'bla'"); // Een indgang i arrayet
hvorimod
$array = array('bla', 'bla');
giver
array('bla', 'bla'); // To indgange
Prøv at print_r() de to udgaver af $author, så vil du kunne se
forskellen (brug browserens "vis kildekode" for at se den formatterede
udskrift).
Hvis du vil lave en streng med et antal forfattere adskilt med komma, så
prøv
$array = explode(',', $authors);
Giver det mening (det blev vist ikke skrevet så klart som det var
meningen)...
/Thomas
| |
Jørgen Staun (12-01-2004)
| Kommentar Fra : Jørgen Staun |
Dato : 12-01-04 14:49 |
|
> $array = explode(',', $authors);
>
> Giver det mening (det blev vist ikke skrevet så klart som det var
> meningen)...
> /Thomas
Hah! - sådan drenge (mænd) - tak for hjælpen, det var jo selvfølgelig en
dummerfejl.
Det virkede med explode
| |
mig@selv.dk (12-01-2004)
| Kommentar Fra : mig@selv.dk |
Dato : 12-01-04 20:33 |
|
Jeg er løbet i et nyt problem, som jeg ikke lige kan gennemskue hvordan jeg
skal gribe an.
Nu har jeg fået fremvisningen af webnavn fra mit array som jeg ønsker det
fra min MySQL-base således:
----------------------
$HentWebsider = mysql_query("select webnr,webnavn,afdeling from websider");
// Så laver vi et array af de sider som opfylder kriterier og smider dem i
en tabel
while($r = mysql_fetch_array($HentWebsider))
{
$Webs .="$r[webnavn],";
}
//echo $afdeling;
$Websider = explode(',', $Webs);
foreach($Websider as $Webside)
{
$list .="<tr>
<td><center><input type=\"checkbox\" value=\"{$Webside}\"
name=\"Websider[]\"></input></center></td>
<td><font class=\"pn-normal\">{$Webside}</font></td>
<td></td>
<td></td>
</tr>";
}
----------------------
det viser så nogenlunde dette
-----------------------
|box|websidenavn | | |
-----------------------
|box|websidenavn | | |
-----------------------
Jeg ville egentlig også gerne have vist Afdeling og Webnr, der bliver hentet
i SELECT-sætningen, men hvordan - det kan jeg ikke lige gennemskue, nogen
ideer?
| |
Jørgen Staun (13-01-2004)
| Kommentar Fra : Jørgen Staun |
Dato : 13-01-04 11:11 |
|
fiksede den på en lidt anden metode:
while($r = mysql_fetch_array($HentWebsider))
{
MapSize($webroot."\\$r[afdeling]\\$r[webnavn]");
$list .= "<tr>
<td><font class=\"pn-normal\">$r[webnavn]</font></td>
<td><font
class=\"pn-normal\">".$webroot."$r[afdeling]\\$r[webnavn]</font></td>
<td align='right'><font class=\"pn-normal\">$VisForbrug
"._SIZEBETEGN."</td>
<td><input type='checkbox' name='WebSide[]'
value='$r[webnr]'></input></td>
</tr>";
}
| |
|
|