Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 8 odgovora
  • 2.545 pregleda

Najnovija ↓

Kako preneti niz polja preko $_POST 25.02.2010. u 00:12 · pre 203 meseca
izmenjeno 1 put, poslednji put Goran Rakić 26.02.2010. u 02:18
  1. Goran Rakić26.02.2010. u 02:18zapis iz teksta poruke
#1
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 :)
Potpis
vidovic-slobodan.blogspot.com
Kako preneti niz polja preko $_POST 26.02.2010. u 00:33 · pre 203 meseca
izmenjeno 1 put, poslednji put Goran Rakić 26.02.2010. u 02:04
  1. Goran Rakić26.02.2010. u 02:04zapis iz teksta poruke
#3
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 :)
Potpis
vidovic-slobodan.blogspot.com
Re: Kako preneti niz polja preko $_POST 26.02.2010. u 02:14 · pre 203 meseca #4
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/>";
Potpis
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
Re: Kako preneti niz polja preko $_POST 26.02.2010. u 19:55 · pre 203 meseca #5
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 :)
Potpis
vidovic-slobodan.blogspot.com
Re: Kako preneti niz polja preko $_POST 26.02.2010. u 21:13 · pre 203 meseca #6
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.
Potpis
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
Re: Kako preneti niz polja preko $_POST 27.02.2010. u 00:44 · pre 203 meseca
izmenjeno 1 put, poslednji put vidonk 27.02.2010. u 01:52
  1. vidonk27.02.2010. u 01:52zapis iz teksta poruke
#7
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";
Potpis
vidovic-slobodan.blogspot.com
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme