Strona 1 z 1

Insert into

Napisane: środa, 28 grudnia 2011, 22:29
przez ducek
Witam !

Jak zapisać w bazie MySql wartość z :

<select name="tab[]"multiple="multiple">
<option>Warszawa</option>
<option>Sosnowiec</option>
<option>Inne</option>
</select><br>

(pomijam resztę znaczników HTML i część kodu PHP/MySql)
W bazie pole typu SET.
Czy może tak:
$pyt=" INSERT INTO tabela (tab) VALUES ('$tab')";

Re: Insert into

Napisane: środa, 28 grudnia 2011, 23:25
przez Morfidon
Na przykład tak:

Code: Zaznacz cały

foreach($_POST['tab'] as $key => $value) 
$pyt=" INSERT INTO tabela (tab) VALUES ('$value')";  
Pozdrawiam :)

Re: Insert into

Napisane: czwartek, 29 grudnia 2011, 18:11
przez ducek
Witam !

Niestety proponowane zapytanie dodaje do bazy tylko jeden rekord (ostatki z tablicy tab[]), podam cały kod który miałby realizować to zapytanie a nie realizuje:

Code: Zaznacz cały

<form action="indexx.php" method="POST">
 
  <select name="tab[]"multiple="multiple">
    <option>Warszawa</option>
    <option>Sosnowiec</option>
    <option>Inne</option>
  </select><br>

 <button type="reset" name="reset">
    skasuj<hr width=30>dane
  </button>
  <input type="submit" value=" wyślij dane "> 
</form>


  <?php

            $mysqlConnection = @mysql_connect("localhost", "root", "krasnal") or die(mysql_error());

            mysql_select_db("test") or die(mysql_error());

            foreach($_POST['tab'] as $key => $value)
  $query=" INSERT INTO testowa (pole) VALUES ('$value')";


            mysql_query($query) or die(mysql_error());


            mysql_close($mysqlConnection);



              foreach($_POST['tab'] as $key => $value)
                                  echo $value;
        ?>
Z poziomu phpmyadmin wygląda to tak :
INSERT INTO `testowa` ( `id` , `pole` )
VALUES ('', ''), ('', 'Warszawa,Sosnowiec,Inne'); - ale jak to zrobić z PHP ?


Pozdrawiam ;)

Re: Insert into

Napisane: czwartek, 29 grudnia 2011, 19:47
przez ducek
Witam !

Musiałem stracić 20 min. ale rozwiązałem wyżej poruszony problem wygląda to tak:
(pole w bazie jest typu SET)

Code: Zaznacz cały

     <?php

          $mysqlConnection = @mysql_connect("localhost", "root", "krasnal") or die(mysql_error());

           mysql_select_db("test") or die(mysql_error());
$i=0;
foreach($_POST['tab'] as $key => $value)
            {
           $tabb[$i]=$value;
           $i++;

            }

  $valuee="$tabb[0],"."$tabb[1],"."$tabb[2]";


 $query=" INSERT INTO testowa (pole) VALUES ('$valuee')";


          mysql_query($query) or die(mysql_error());


          mysql_close($mysqlConnection);

echo $valuee;
        ?>
Pozdrawiam ! :d