Съхраняване в БД на много възможности

shaxaaa

Registered
вижте имате например 5 checkboxa и можем да изберем и 5-те как ще ги запишем така че после да мога все пак да ги извадя на друго място потребителя какво е избрал както например в сайтове за коли отдолу можем да избираме екстрите им . Но как ги записват към БД така че след публикуването на обявата да излиза потребителя какви екстри е задал за колата си
 
Експортирай само това от базата данни, което ти трябва и после я качи това, което си извадил на ново...
 
малко по - подробно ако може че нещо не те схванах а и не съм толкова навътре с нещата
 
Влизаш в контролния панел на хостинга, който имаш... от там влизаш в MySQL - после влизаш в phpMyAdmin, намираш "базата данни" и избираш кои файлове искаш да експортираш, после ако трябва или незнам как си го замилил слагаш сайта на ново и зареждаш базата данни този път я (импотрираш) нядявам се да си схванал нещо...
 
Значи има много начини, въпроса е дали ще имаш доста записа с повече чекчета, ако са повече, ги записвай в отделна клетка всяко в базата, като им зададеш 1 или 0 зависи дали е чекнато или не.

след това правиш стандартна заявка за викане от баата като правиш проверка дали е 1 или 0 и според него определяш какво да се покаже.

if($check=="1")
{
echo "Климатик";
}

и така за всяко чекче, а моце вместо така и да направиш и така:

if($check=="1")
{
$klima = "Климатик";
}

и където искаш да се покаже думата климатик, ползваш $klima

П.П. roskata не го объркваи, тои пита за коренно различно нещо
 
да но виж сега има нещо друго да ама искам на самия човек да му се запишат избраните checkboxove в БД .
Например иска да пусне обява отдолу има 5 checkboxa и той дава на всичките и след това дава пусни обявата . Искам тези checkboxove да се записват в БД и след това да ги изведе на мястото където излиза обявата му
 
нали ти казах как <input type="checkbox" name="klimatik" talue="1"> и така на взеки чек задаваш различно име, и се записва 1 или 0 в базата за чека зависи дали е чекнат, след това ти казах как се извежда. с проверка от if
 
защото моце и в една клетка да ги запишеш, под формата на редижа

1,0,0,1,1,1,0,0,0 примерно, обаче, така при повече записи и повече чекове, сървъра ще се бави, а при търсене не ми се мисли какво ще бъде. Трябва да направиш и функция която ги разделя и брои, и всеки пореден да отговаря за нещо, след това да покажеш тези които са с 1-ца.

помисли какво ще се получи, ако направиш да речеме 30-40 чека?
 
ето ти един пример набързо ..
по голямата част я пиша направо тука така ,че може и да има някоя грешка.
ето ти примерен sqL
Код:
CREATE TABLE `extri` (
  `id` int(11) NOT NULL auto_increment,
   `far` tinyint(1) NOT NULL,
  `kolan` tinyint(1) NOT NULL,
  `prozorci` tinyint(1) NOT NULL,
  `vrata` tinyint(1) NOT NULL,
  UNIQUE KEY `id` (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
ето ти и един мнооогооо опростен код:
Код:
<form method='post' action=''>
<input type='checkbox' name='far' value='1'/>s far <br/>
<input type='checkbox' name='kolan' value='1'/>s kolan<br/>
<input type='checkbox' name='prozorci' value='1'/>s prozorci<br/>
<input type='checkbox' name='vrata' value='1'/>s vrata<br/>
<input type='submit' value='lqz' name='br'/>
</form>
<?
mysql_connect(localhost,root,pass);
mysql_select_db(test);
if(isset($_POST['br'])){

unset($_POST['br']);

$insert = implode(',',array_keys($_POST));
echo $insert;
$lq = mysql_query("INSERT INTO `extri` ($insert)
VALUES ('".implode("','",$_POST)."')");
echo $lq;}
if(isset($_GET['test'])){

$zz = mysql_query("SELECT * FROM `extri` WHERE `id` = $_GET[test]  ") or die(mysql_error());

$gr = mysql_fetch_assoc($zz);


?>
<br/>
<input type='checkbox' name='far' <? echo ($gr['far'] == 1) ? 'checked' : ''; ?> disabled='true' />s far <br/>
<input type='checkbox' name='kolan' <? echo ($gr['kolan'] == 1) ? 'checked  ' : ''; ?> disabled='true'  />s kolan<br/>
<input type='checkbox' name='prozorci' <? echo ($gr['prozorci'] == 1) ? 'checked' : ''; ?> disabled='true' />s prozorci<br/>
<input type='checkbox' name='vrata' <? echo ($gr['vrata'] == 1) ? 'checked' : ''; ?> disabled='true' />s vrata<br/>
<?
}

?>

вкарваш някакви данни т.е. селектваш някое от поленцата и после пишеш:
failati.php?test=1
примерно където 1 ти е id-то записа в бд-то
после се проверява дали е 1 и ако е е чекнато ако не - не е.
Абе надявам се ще хванеш смисъла...
 
shaxaaa каза:
а защо другите задават на всичко едно име например values[]

Koгато са кръстени по този начин (с квадратните скоби отзад), данните се предават в масив. Ето ти примерен такъв:

Код:
Array ( [0] => check1 [1] => check2 [2] => check7 [3] => check9 [4] => check10 )

в масива са включни само имената на чекбоксовете, които са били чекнати - check1, check2, check7, check9 и check10. Общо взето щом си начинаещ, по-добре ползвай метода на jooorooo. :wink:
А начина с масивите го остави за някой друг ден, като научиш масивите ;)
 

Back
Горе