webForumDet fria alternativet

frågor kring $_post() array:er

8 svar · 654 visningar · startad av überfuzz

überfuzzMedlem sedan apr. 2006409 inlägg
#1

På en sida jag har skapar jag ett <form> genom att köra en query från en sql-tabell. De värden som finns i tabellen skrivs ut i <form>et och går att välja antal på i formuläret. Antag att 'lampa' sätts till 3 genom att 3 väljs på lampa i formuläret.

Formulär där det finns tre varor i sql-tabellen:
Stol antal:[ ]
Lampa antal: [3] <-- besökaren väljer 3 här.
Bord antal: [ ]

Hur gör jag om jag vill kolla igenom post-array:en och se vilka värden som finns i den?

tydalMedlem sedan juni 20034 013 inlägg
#2
foreach ($_POST as $k => $v)
{
  echo("Postvariabeln $k har värdet $v.<br>\n");
}
überfuzzMedlem sedan apr. 2006409 inlägg
#3

Okej! inte svårare än så alltså. Nu har jag följande och får inte till en annan grej.

<?php
echo '<form action="bekrafta.php" method="post">';
$sql5 = mysql_query("SELECT * FROM skivor") or die(mysql_error("Det gick inte att nå tabellen skivor"));
while($skivor = mysql_fetch_array($sql5)){
$skiv_id = $skivor['skiv_id'];
$skiv_pris = $skivor['pris_id'];
$skiv_titel = $skivor['skiv_titel'];
}

foreach ($_POST as $k => $v)
{
	if (!$v == 0){
  		echo("Postvariabeln $k har värdet $v.<br>\n");
	}
	else {}
}
echo '</form>';
?>

Nu vill jag skriva ut $skiv_titel om någon av $k är satt genom att 'översätta' från $k/$skiv_id som är samma sak.

fiddlerMedlem sedan juli 20023 617 inlägg
#4

Sist i din whilesats borde du kunna skriva:

if(isset($_POST['$skiv_id'])) print $skiv_titel."<br />";
aasahMedlem sedan mars 20034 471 inlägg
#5

Jag ber om ursäkt för detta försvunna svar! x( :x Jag redigerade av misstag i stället för att citera. Och förlorade mit ursprungssvar på kuppen. :(

fiddlerMedlem sedan juli 20023 617 inlägg
#6

aasah: Tänk på att foreach-satsen liger efter while-loopen. Variablerna har "sistavärdet".

aasahMedlem sedan mars 20034 471 inlägg
#7

Ja, alltså jag fattar inte riktigt vad han är ute efter... Kan det vara detta då?

<?php
echo '<form action="bekrafta.php" method="post">';
$sql5 = mysql_query("SELECT * FROM skivor") or die(mysql_error("Det gick inte att nå tabellen skivor"));
while($skivor = mysql_fetch_array($sql5)) {
   $skiv_id = $skivor['skiv_id'];
   $skiv_pris = $skivor['pris_id'];
   $skiv_titel = $skivor['skiv_titel'];
   if ($_POST[$skiv_id] != 0) {
      echo('Postvariabeln $_POST['.$skiv_id.'] har värdet '.$_POST[$skiv_id].'<br>\n');
       echo $skiv_titel;
    }
}
echo '</form>';
?>
überfuzzMedlem sedan apr. 2006409 inlägg
#8

asahh> Jo, det var ungefär så jag tänkt mig. Nu skriver den ut ett fint litet formulär.

überfuzzMedlem sedan apr. 2006409 inlägg
#9

Just det, tack för hjälpen alla. :)

135 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)