Няколко резултата в един ред в базата данни

amgcompany

Registered
Здравейте,имам няколко <input type="radio"/> и искам всичките които са чекнати да се добавят в един ред в базата данни.Пробвах доста методи ама се се добавят в друг ред от БД.Примерно имам този HTML код:
HTML:
	<input name = "1" type="radio" value = "1" /> 1<br/>
<input name = "2" type="radio" value = "2" /> 2<br/>
<input name = "3" type="radio" value = "3" /> 3<br/>
<input name = "4" type="radio" value = "4" /> 4<br/>
 
PHP:
$a = htmlspecialchars($_POST['1']);
$b = htmlspecialchars($_POST['2']);
$c = htmlspecialchars($_POST['3']);
$d = htmlspecialchars($_POST['4']);
if ($a == 1) { $edno = "1"; } else { $edno = ""; }
if ($b == 2) { $dve = "2"; } else { $dve = ""; }
if ($c == 3) { $tri = "3"; } else { $tri = ""; }
if ($d == 4) { $chetiri = "4"; } else { $chetiri = ""; }
$result = $edno.$dve.$tri.$chetiri;
echo $result;

/* и ще видиш какво ще се получи. Ако искаш да ги разделиш със запетай , $result ще трябва да е така:
$result2 = "$edno,$dve,$tri,$chetiri";
*/
 
amgcompany каза:
Здравейте,имам няколко <input type="radio"/> и искам всичките които са чекнати да се добавят в един ред в базата данни.Пробвах доста методи ама се се добавят в друг ред от БД.Примерно имам този HTML код:
HTML:
	<input name = "1" type="radio" value = "1" /> 1<br/>
<input name = "2" type="radio" value = "2" /> 2<br/>
<input name = "3" type="radio" value = "3" /> 3<br/>
<input name = "4" type="radio" value = "4" /> 4<br/>
Обясни по точно какво ти трябва ? Ако ти трябват на 1 ред, то реда трябва да има по една колона за всяко. Няма ли да ти е по-удобно да си създадеш отделна таблица, в която да си записваш отделните опции за отделните обекти ?
 
е защо с radio а не с checkbox???

с checkbox ще е така

HTML:
<input name = "check[]" type="checkbox " value = "1" /> 1<br/>

<input name = "check[]" type="checkbox " value = "2" /> 2<br/>

<input name = "check[]" type="checkbox " value = "3" /> 3<br/>

<input name = "check[]" type="checkbox " value = "4" /> 4<br/>

а данните ще се обработват така:
PHP:
if(isset($_POST['submit'])) {
$checks = htmlspecialchars($_POST['check']); 
foreach($checks AS $check){
if($check != $checks) $coma = ",";
else $coma = "";
$checked .= $check.$coma
}
mysql_query("insert into table (field) VALUES ('$checked')")or die(mysql_error());
}
 
Код:
<?php

if(isset($_POST['opt'])) {
    print_r($_POST['opt']);
}

?>
<form action="test.php" method="post">
    <input type="radio" name="opt[1]" value="1">
    <input type="radio" name="opt[2]" value="2">
    <input type="radio" name="opt[3]" value="3">
    <input type="radio" name="opt[4]" value="4">
    <input type="submit" name="submit">
</form>

Може да го ползваш и като opt[] и като opt[value] резултата ще е:

Array(0/value => 1/0)

Но ако ползваш opt[] ще започва от 0.

Изкуфелия, дал си му абсурден код, заради който след малко некой ще пусне нова тема 'Излиза ми notice/unexpected/undefined'.Как може да сравняваш масив с промелнива, резултата винаги ще е false и за това има много по кратък вид.

Код:
implode(', ', $_POST['opt']);
 
Ами искам да е някакъв масив,защото имам много инпути и ако реша да права за всички много променливи и то ще стане мазало.Промених го да не е със radio ами да е с checkbox и написах следния код:
HTML:
<input name = "check" type="checkbox" value = "1" /> 
<input name = "check" type="checkbox" value = "2" /> 
...
PHP:
if(isset($_POST['submit']))
	{	
		if(isset($_POST['check']))
		{
			$check = $_POST['check'];
			mysql_query("INSERT INTO poruchki (poruchka) VALUES ('$check')")or die(mysql_error());
			header('location:index.php');
		}
	}
Обаче така ми показва само един резултат а не всичките които съм чекнал и затова най-вероятно мисля че трябва да се направи с масив но не знам как.
 
Прочети по-нагоре какво са ти написали. Забравил си [] в името.
<input name = "check[]" type="checkbox " value = "1" />
Така ще ти бъде дадено като масив от $_POST
 

Back
Горе