Записване на html код в база данни

Добре, представи си че имаш таблица със 100 полета (нещо, което не искаш). Предполагам знаеш как да изкараш информацията от тях - в крайна сметка ще имаш 1 масив със всичките тия 100 полета.

Това, което аз ти предлагам, е да направиш 1 поле тип TEXT и в него да вкарваш информацията чрез json_encode($array), а чрез json_decode($row, true) да я изкарваш.

Кажи точно кое не ти е ясно, ще го обясня :)
 
<table>
<tr>
<td>
Neshto:<input type="">
</td>
</tr>
<tr>
<td>
Neshto2<input type.....>
</td>
</tr>
</table>

Така как да ги взема двата инпута и да ги трясна в масив
 
PHP:
<?php
if($_POST['submit']) {
    $array = array(
        'driver' => $_POST['driver'],
    );
    $encoded = json_encode($array);
    ...insert into...
}
?>

<form action="" method="post"
...table tr...
<input type="text" name="driver" />
...tr table...
<input type="submit" name="submit" value="Submit" />
</form>
 
djman каза:
PHP:
<?php
if($_POST['submit']) {
    $array = array(
        'driver' => $_POST['driver'],
    );
    $encoded = json_encode($array);
    ...insert into...
}
?>

<form action="" method="post"
...table tr...
<input type="text" name="driver" />
...tr table...
<input type="submit" name="submit" value="Submit" />
</form>

А когато искам да ги изкарам вадя нарпаво с Json_decode
 
да, SELECT-ваш полето от базата данни и "текста" го превръщаш в асоциативен масив чрез json_decode($row, true) - това true е важно да го напишеш :)
 
т.е ако правилно съм те разбрал, тази страница която аз правя е за обновяване на базата данни
би трялвало да стане така
Код:
<?php

if($_POST['submit']) {

    $array = array(

        'driver' => $_POST['driver'],

    );

    $encoded = json_encode($array);

    ...insert into...

}

?>



<form action="" method="post"

...table tr...

<input type="text" name="driver" />

...tr table...

<input type="submit" name="submit" value="Submit" />

</form>

<?php

  $encoded = json_encode($array);
mysql select from .... where $id=id
така ли трябва да стане
 
Код:
<?php

if($_POST['submit']) {
    $array = array(
        'driver' => $_POST['driver'],
    );
    $encoded = json_encode($array);
    mysql_query('insert into ... values ("' . $encoded . '")');
}

$query = mysql_query('select from .... where $id=id');
$row = mysql_fetch_assoc($query);
$decoded = json_decode($row, true); // ако не стане, пробвай $row[0]
?>

<form action="" method="post"
...table tr...
<input type="text" name="driver" value="<?=$decoded['driver'];?> />
...tr table...
<input type="submit" name="submit" value="Submit" />
</form>
 
Knoppix_ каза:
Само че имам проблем така не мога да го запиша в базата данни

Защо?

Каква ти е таблицата? би трябвало да имаш id и поле за всичките тези данни, например поле data тип TEXT
 
Добре, да видим още веднъж какво искаш и как.

Имаш си работещо нещо, полета в базата данни, форма за попълване и редактиране.

Ти искаш да не се занимаваш със 100 полета в базата данни и искаш всичко да е в 1 поле. Но във всички случаи ще трябва да обработваш input полетата едно по едно. Какво точно искаш? Объркан съм :D
 
Добре обеснявам ще се опитам да бъда максимално точен
Това е една форма тази форма трябва да записва цялата информация знам как да направя така че всеки инпут да се записва в отделно поле проблема е че ако искам да създам всичките полета в mysql ми дава грешка 1118
Така за това стигнах до извода че трябва това тази форма да я запиша като хтмл код вътре в тр_разход, като след това което ще се извършва като един вид преглед на файла. След записа му остава там това е
Ако някой ми кажеш от къде на тъпият ксамп да му кажа да нямам ограничение за броя редове и техният размер също става да си създам всичките полета
 
Добре,
направи едно поле `danni` тип TEXT

в него и от него изкарвай JSON текста. Останалото виж в по-предния пост :)
 
Добре ама пак не се записва цялата форма само се реврешва и това няма запис в базата данни
 
Knoppix_ каза:
Добре ама пак не се записва цялата форма само се реврешва и това няма запис в базата данни

http://pastebin.com/
сложи целия код тук.

името на submit бутона и проверката дали е натиснат - съвпадат ли?
 
Knoppix_ каза:
Ето го
http://pastebin.com/Tvgk425s

PHP:
  $encoded = json_encode($array);
    mysql_query("'UPDATE otchet_turcia SET tr_razhod = '$array' WHERE id='$id'");
При положение, че искаш да вкараш $encoded в БД и го кодираш, защо в заявката си оставил $array
 
Ами защото това encoded i decode ама изобщо не съм ги виждал на живо, а кое трябва да оставя там тогава
 
Knoppix_ каза:
Ами защото това encoded i decode ама изобщо не съм ги виждал на живо, а кое трябва да оставя там тогава

mysql_query("'UPDATE otchet_turcia SET tr_razhod = '$array' WHERE id='$id'");

замени със

mysql_query("'UPDATE otchet_turcia SET tr_razhod = '$encoded' WHERE id='$id'");
 

Back
Горе