Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kako preneti niz polja preko $_POST

[es] :: PHP :: PHP za početnike :: Kako preneti niz polja preko $_POST

[ Pregleda: 1755 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

vidonk
Slobodan Vidovic
Niksic

Član broj: 192156
Poruke: 355
79.143.100.*



+9 Profil

icon Kako preneti niz polja preko $_POST24.02.2010. u 23:12 - pre 172 meseci
Ovako imam problem sa while petljom, otprilike to nesto izgleda ovako

Code:

if(isset($_POST['action'])) /// Ovdje nemogu da dobijem sve redom karaktere kako su dolje izlistani :(
{
$l = 1;
while ($l <= $daysIM)
{
$dani = intval($_POST['dani']);
$ime = intval($_POST['ime']);
$sati = intval($_POST['sati']);
$smjena = intval($_POST['smjena']);
$objekat = intval($_POST['objekat']);

$q = mysql_query("INSERT INTO `".$current_month."` 
    VALUES(0, '".$dani."', '".$ime."', '".$sati."', '".$smjna."', '".$objekat."' );");
}
}





echo "<div class=\"form\">\n";
echo "<form action=\"users.php?\" method=\"post\">\n";
$b = 1;
while ($b <= $daysIM){        // $daysIM br dana u mjesecu
$sati = $_GET['sati'];
$objekat = $_POST['objekat'];

if ($_GET['dan'] == 3od3)
    {
    if ($b == 3 or $b == 7 or $b == 11 or $b == 15 or $b == 19 or $b == 23 or $b == 27 or $b == 31 )
    {
    $sati = "";
    }else{
    $sati = $_GET['sati'];
    }
    }


echo "$b | $sati ";
    $b++;

echo "<input type=\"hidden\" name=\"action\" value=\"save\"/>";
echo "<input type=\"submit\" value=\"Sacuvaj\"/></form></div>";


Znaci ispisem sa while petljom br dana u mjesecu gdje svaki dan ima sate smjenu i td ali nemogu takvu struktura da sa Submit posaljem na upis u bazu nadam se da sam bio jasan



[Ovu poruku je menjao Goran Rakić dana 26.02.2010. u 02:18 GMT+1]
Signaure Hamer Dev .inc
 
Odgovor na temu

Goran Rakić
Beograd

Moderator
Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Re: while -> $_POST -> mysql_query()25.02.2010. u 23:07 - pre 172 meseci
Meni ovaj tvoj kod nema nikakvog smisla. Uopšte ne razumem šta pokušavaš da uradiš.
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
Odgovor na temu

vidonk
Slobodan Vidovic
Niksic

Član broj: 192156
Poruke: 355
79.143.100.*



+9 Profil

icon Kako preneti niz polja preko $_POST25.02.2010. u 23:33 - pre 172 meseci
Code:

if(isset($_POST['action'])) {
  var_dump($_POST);
}
else {
  echo "<div class=\"form\">\n";
  echo "<form action=\"users.php?\" method=\"post\">\n";
  $b = 1;
  // $daysIM - je broj dana u mjesecu
  while ($b <= $daysIM){
     echo "<input type=\"text\" name=\"b\" value=\"$b\"/><br/>";
     $b++;
  }
  echo "<input type=\"hidden\" name=\"action\" value=\"save\"/>";
  echo "<input type=\"submit\" value=\"Sacuvaj\"/></form></div>";
}


Znaci sa while petljom izlistam dane u mjesecu gdje svaki dan ima sate smjene itd. Recimo za ovaj mjesec imam 28 dana oni idu jedan ispod drugog a uz svaki dan ide <input type=\"text\"> gdje se unosi neka vrijednost.



Na klik submit ja bih sve te vrijednosti trebao da sacuvam, u mom slucaju svih 28 dana i to sto dodje uz njih... Kada kliknem na Sacuvaj rezultat mi je 10 a meni treba od 1 do 10 jedan ispod drugod, u tome je sav problem. Nadam se da sam bio jasniji

[Ovu poruku je menjao Goran Rakić dana 26.02.2010. u 02:04 GMT+1]
Signaure Hamer Dev .inc
Prikačeni fajlovi
 
Odgovor na temu

Goran Rakić
Beograd

Moderator
Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Re: Kako preneti niz polja preko $_POST26.02.2010. u 01:14 - pre 172 meseci
Ovako se postavlja pitanje. Promenio sam naslov teme, formatirao tvoj kod i izbacio nepotrebno ponavljanje. echo linija u while petlji je bitna, bez nje niko ne vidi da ti imaš bilo kakva polja u HTML izlazu. Snimak ekrana pomaže, ali uz ispravan kod nije neophodan. Moraš uložiti vreme u formulisanje pitanja ako želiš odgovor. Na sjajnom sajtu stackoverflow.com bi veoma brzo dobio negativnu ocenu i izgubio prava da postavljaš dalja pitanja.

Kao što verovatno znaš, kada pošalješ formu u skripti koja radi obradu dobijaš unos u superglobalnom nizu $_POST oblika ime_polja=>vrednost. Ti na stranici imaš 28 polja koja se zovu "b", svako naredno prepisuje prethodno i kao rezultat dobijaš samo jedno polje.

Rešenje je da preimenuješ polje/polja iz "b" u "b[]". PHP će pri prikupljanju polja i formiranju $_POST niza napraviti podniz $_POST['b'] u kome je vrednost prvog polja $_POST['b'][0] i tako redom. Ime polja u HTML-u možeš da zadaješ i sa određenim indeksom "b[pondeljak]", "b[utorak]", ali za ovo što tebi treba automatsko numerisanje je sasvim dovoljno.

Dakle, promeni echo liniju u while petlji u:
Code:

     echo "<input type=\"text\" name=\"b[]\" value=\"$b\"/><br/>";

http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
Odgovor na temu

vidonk
Slobodan Vidovic
Niksic

Član broj: 192156
Poruke: 355
*.opera-mini.net.



+9 Profil

icon Re: Kako preneti niz polja preko $_POST26.02.2010. u 18:55 - pre 172 meseci
Aha ok hvala na iscrpnom odgovoru sad mi je jasnije ali imam sad drugi problem sa ovom array trazio sam danas po php netu odg. Al bezuspjesno kako da je razlozim i stavim u $promjenjljivu nasao sam kako se kreira ali ne i kako se razlaze na onoliko $prom. Koliko ima arreja, u mom slucaju prva vrijednos [1] da bude $b, iz sledece array[]prva vijednos da bude $c i tako redom u nizu za svaki dan u sustini da dobijem vrijednosti kakve sam i poslao da bih mogao to da sacuvam u bazu ako moze i mala pomoc i oko ovog ili koju funkciju da trazim Hvala veliko jos jednom
Signaure Hamer Dev .inc
 
Odgovor na temu

Goran Rakić
Beograd

Moderator
Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Re: Kako preneti niz polja preko $_POST26.02.2010. u 20:13 - pre 172 meseci
A kako ti izgleda struktura te tabele u bazi?

To što ti želiš je moguće, ali ne deluje da baš tako treba. Zavisi šta na kraju hoćeš da uradiš, sigurno ima i boljih rešenja.
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
Odgovor na temu

vidonk
Slobodan Vidovic
Niksic

Član broj: 192156
Poruke: 355
79.143.100.*



+9 Profil

icon Re: Kako preneti niz polja preko $_POST26.02.2010. u 23:44 - pre 172 meseci
Moram priznati da sam iznenadjen .... pozitivno ovako hm
Znaci treba mi da podatke (kao na predhodnoj slici) sacuvam u bazu komplet kako su i upisani a struktura tebele je
id - auto incriment
dan - int
ime - text
sati - int
smjena - text
objekat - text

Upisivao bih ih u jednom nizu znaci jedan pored drugog za cijeli mjesec svih 30 ili 31 dan
Code:

if(isset($_POST['action']))
{


echo "<pre>";
var_dump($_POST);
echo "</pre>";

// a  $ime , $sati, $smjena $objekat su text fileld uz $b koje dobijam sa $_POST
// [0]=> string(1) "1" je $b prvi dan u mjesecu 

$q = mysql_query("INSERT INTO `".$current_month."` VALUES(0, '".$b."', '".$ime."', '".$sati."', '".$smjna."', '".$objekat."' );"); // $current_month sadasnji mjesec
}

Svaki dan u mjesecu ima neke podatke uz sebe i samo bih to htio da sacuvam, strukturu bas kao na slici da to moze opet da se prikaze iz baze bas kao sto je i unijeto eo i print-screen


Sve mi se cini da sam nejasnu ovo objasnio pa evo cijeli kod ne znam kako drugacije da budem siguran da znas sta hocu

Code:

if(isset($_POST['action']))
{

echo "<pre>";
var_export($_POST);
echo "</pre>";
echo "$a";

$q = mysql_query("INSERT INTO `".$current_month."` VALUES(0, '".$dani."', '".$ime."', '".$sati."', '".$smjna."', '".$objekat."' );");
}

echo " Mjesec = $current_month";
echo "<div class=\"form\">\n";
echo "<form action=\"users.php?\" method=\"post\">\n";
$b = 1;
while ($b <= $daysIM){
$sati = $_POST['sati'];
$objekat = $_POST['objekat'];

            
            
    echo "<tr class='row'>
            <td>$b</td>
<input type=\"hidden\" name=\"dani[]\" value=\"$b\"/>
            <td>
            <input type=\"text\" name=\"sati[]\" size=\"4\" maxlength=\"2\" value=\"$sati\"/></td>    
            <td><input type=\"text\" name=\"smjena[]\" size=\"8\" maxlength=\"8\" value=\"$smjena\"/></td>
          <td><input type=\"text\" name=\"objekat[]\" size=\"20\" maxlength=\"200\" value=\"$objekat\"/></td></tr>";
    $b++;
}

echo "</table>";
echo "<input type=\"hidden\" name=\"action\" value=\"save\"/>";
echo "<input type=\"submit\" value=\"Sacuvaj\"/></form></div><br/>\n";


[Ovu poruku je menjao vidonk dana 27.02.2010. u 01:52 GMT+1]
Signaure Hamer Dev .inc
Prikačeni fajlovi
 
Odgovor na temu

[es] :: PHP :: PHP za početnike :: Kako preneti niz polja preko $_POST

[ Pregleda: 1755 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.