gegevens uit Get halen (Opgelost)
kenzo - 24/08/2007 12:57
PHP beginner
Hallo,
Kan ik uit een url meerdere dingen halen (in een get)...
bijvoorbeeld:
index.php?pagina=test.php&show=1,4,5,7,8
hij haalt 5 gegevens eruit. (1, 4, 5, 7 en 8)
dat ik die appart kan lezen
Bedankt!
7 antwoorden
Gesponsorde links
marten - 24/08/2007 13:09
Beheerder
Maak er van
show=1_2_3_4_8
Explode vervolgens de get variabele op _ en je krijgt een array van alle nummers.
kickasgamer - 24/08/2007 13:11
PHP ver gevorderde
ja dan doe je het zo
$show = $_GET['show'];
$arr_show = explode("," , $show);
/*
zo kan je elke onder deel apart krijgen via bv $arr_show[1]
*/
$show = $_GET [ 'show' ] ;
/*
zo kan je elke onder deel apart krijgen via bv $arr_show[1]
*/
kenzo - 24/08/2007 13:53 (laatste wijziging 24/08/2007 14:01)
PHP beginner
ok, bedankt... zal het proberen
heb nu dit, maar werkt niet;
$show = $_GET['show']; $arr_show = explode("," , $show);
if("".$_GET['show']."" == $arr_show[1]) {
echo"
<TR>
<td width='65%'>Merk: </td>
<td width='99%' colspan='4'><input name='merk' type='text' id='merk' size='50'></td>";
}
else
{
echo"";
}
if("".$_GET['show']."" == $arr_show[2]) {
echo"
<TR>
<td width='65%'>Type: </td>
<td width='99%' colspan='4'><input name='type' type='text' id='type' size='50'></td>";
}
else
{
$show = $_GET [ 'show' ] ; $arr_show = explode ( "," , $show ) ;
if ( "" . $_GET [ 'show' ] . "" == $arr_show [ 1 ] ) {
<TR>
<td width='65%'>Merk: </td>
<td width='99%' c olspan='4'><input name='merk' type='text' id='merk' size='50'></td>" ;
}
else
{
}
if ( "" . $_GET [ 'show' ] . "" == $arr_show [ 2 ] ) {
<TR>
<td width='65%'>Type: </td>
<td width='99%' c olspan='4'><input name='type' type='text' id='type' size='50'></td>" ;
}
else
{
Als ik geen &show=... typ laat hij de 2 velden zien, als ik typ: &show=1,2 of alleen &show=1 of alleen &show=2 laat hij niets zien
Wim - 24/08/2007 14:06
Crew algemeen
natuurlijk....
je neemt een string 1_2_4_8 en explode op _
je hebt nu een array [1, 2, 4, 8]. De 2 en de 4 vergelijk je (in dit voorbeeld) terug met 1_2_4_8 wat nooit hetzelfde kan zijn....
Als show niet is ingevuld zal je array (na de explode) leeg zijn. Je gaat 2 lege waardes met elkaar vergelijken -> deze zijn gelijk. Dit doe je op lijn 3 en lijn 13. daarom worden er 2 velden geprint...
kenzo - 24/08/2007 14:10 (laatste wijziging 24/08/2007 14:18)
PHP beginner
heb nu dit
$show = $_GET['show']; $arr_show = explode("," , $show);
$arr_show[1] == "
<TR>
<td width='65%'>Merk: </td>
<td width='99%' colspan='4'><input name='merk' type='text' id='merk' size='50'></td>";
$arr_show[2] == "
<TR>
<td width='65%'>Type: </td>
<td width='99%' colspan='4'><input name='type' type='text' id='type' size='50'></td>";
$arr_show[3] == "
<TR>
<td width='65%'>Schaal: </td>
<td width='99%' colspan='4'>
<select name='schaal'>
<option value='32'>1/32</option>
$show = $_GET [ 'show' ] ; $arr_show = explode ( "," , $show ) ;
$arr_show [ 1 ] == "
<TR>
<td width='65%'>Merk: </td>
<td width='99%' c olspan='4'><input name='merk' type='text' id='merk' size='50'></td>" ;
$arr_show [ 2 ] == "
<TR>
<td width='65%'>Type: </td>
<td width='99%' c olspan='4'><input name='type' type='text' id='type' size='50'></td>" ;
$arr_show [ 3 ] == "
<TR>
<td width='65%'>Schaal: </td>
<td width='99%' c olspan='4'>
<select name='schaal'>
<option value='32'>1/32</option>
Maar onderaan de pagina staat:
Gereed, maar met fouten op de pagina
Hoe kan ik nu doen dat als ik in de url &show=1,3 heb dat hij 1 en 3 laat zien?
Voldemort - 24/08/2007 14:40 (laatste wijziging 24/08/2007 14:42)
PHP ver gevorderde
Functie om te controleren of er iets in de array staat
PHP.net: in_array
PHP.net: foreach
Explode, kijk of er 1 in het url staat en toon dingen.
<?php
$arr_show = explode("," , $_GET['show']);
//Zoekt naar 1 in de array
$search = in_array(1,$arr_show);
//Gevonden
if($search === TRUE)
{
//1 werd gevonden in de array
}
//Niet gevonden
else
{
//1 werd niet gevonden in de array
}
?>
<?php
$arr_show = explode ( "," , $_GET [ 'show' ] ) ;
//Zoekt naar 1 in de array
//Gevonden
if ( $search === TRUE )
{
//1 werd gevonden in de array
}
//Niet gevonden
else
{
//1 werd niet gevonden in de array
}
?>
Loop de volledige array af en toon dingen indien nodig
<?php
$arr_show = explode("," , $_GET['show']);
//Loopt de array van het begin tot het einde af
foreach($arr_show as $value)
{
//Zoekt naar $value in de array
$search = in_array($value,$arr_show);
//Gevonden
if($search === TRUE)
{
//$value werd gevonden in de array
}
//Niet gevonden
else
{
//$value werd niet gevonden in de array
}
}
?>
<?php
$arr_show = explode ( "," , $_GET [ 'show' ] ) ;
//Loopt de array van het begin tot het einde af
foreach ( $arr_show as $value )
{
//Zoekt naar $value in de array
//Gevonden
if ( $search === TRUE )
{
//$value werd gevonden in de array
}
//Niet gevonden
else
{
//$value werd niet gevonden in de array
}
}
?>
Deze 2 stukjes code laten zien hoe je met arrays kan werken (op de manier dat jij ze nodig hebt).
kenzo - 24/08/2007 14:43 (laatste wijziging 24/08/2007 17:25)
PHP beginner
Het werkt... bedankt!
Gesponsorde links
Dit onderwerp is gesloten .