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

foreach Warning!

[es] :: PHP :: foreach Warning!

[ Pregleda: 1523 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

balkan7

Član broj: 119255
Poruke: 82
85.30.102.*



Profil

icon foreach Warning!05.11.2006. u 23:03 - pre 212 meseci
ne znam zasto mi prikazuje:
Warning: Invalid argument supplied for foreach() in /home/xxx/public_html/test/index.php on line 256

Code:
case "pregled":
  //if there is an ID given...
  if($_GET['id'])
  {
      //get the id, put it into a variable, cast to an INT
      //(for security purposes)
      $id = (int)$_GET['id'];
      $query = mysql_query("SELECT * FROM software WHERE kat_id = '$id' AND validen = '1'") or die(mysql_error());
      
      //if no results, show that there are no tutorials
      //for that category
      if(mysql_num_rows($query) == 0)
      {
          echo "Nema software vo ovaa Kategorija!";
      }
      //else, there is..show em
      else
      {
          //show all products
          echo "<br>
          <div align='center'>
          <table border='0' cellpadding='0' cellspacing='0' width='90%' style='border: 1px solid #336699'>
          <tr>
             <td>
             <table border='0' width='100%' cellpadding='0'>
          <tr>
              <td bgcolor='#0099CC'><h3 align='center'>Pregled na Softwares</h3></td>
          </tr>
          </table>
          <table border='0' width='100%' cellpadding='0'>
          <tr>
              <td style='border: 1px solid #0099CC' bgcolor='#0099CC'>Sifra</td>
              <td style='border: 1px solid #0099CC' bgcolor='#0099CC'>Naslov</td>
              <td style='border: 1px solid #0099CC' bgcolor='#0099CC'>Opis</td>
              <td style='border: 1px solid #0099CC' bgcolor='#0099CC'>Kategorija</td>
              <td style='border: 1px solid #0099CC' bgcolor='#0099CC'>CD & DVD</td>
              <td style='border: 1px solid #0099CC' bgcolor='#0099CC'>Novo?</td>
              <td style='border: 1px solid #0099CC' bgcolor='#0099CC'>Datum</td>
              <td style='border: 1px solid #0099CC' bgcolor='#0099CC'>Izmeni</td>
              <td style='border: 1px solid #0099CC' bgcolor='#0099CC'>Izbrisi</td>
          </tr>
          </div>
          </table>";
          while($row = mysql_fetch_array($query))
          {
              echo "<table border='0' cellpadding='0' cellspacing='0' width='100%'>
                   <tr>
                       <td style='border: 1px solid #0099CC'><b>$row[sifra]</b></td>
                       <td style='border: 1px solid #0099CC'><b>$row[naslov]</b></td>
                       <td style='border: 1px solid #0099CC'>$row[opis]</td>
                       <td style='border: 1px solid #0099CC'>$row[kat_id]</td>
                       <td style='border: 1px solid #0099CC'>$row[cd_id]</td>
                       <td style='border: 1px solid #0099CC'>$row[novo]</td>
                       <td style='border: 1px solid #0099CC'>$row[datum]</td>
                       <td style='border: 1px solid #0099CC'><a href='izmeni.php?action=popravi&id=$row[id]'><img src='sliki/edit.gif' width='24' height='24'></a></td>
                        <td style='border: 1px solid #0099CC'><input type='checkbox' name='row[]' value='$row[id]'>&nbsp;<img src='sliki/delete.gif' width='24' height='24'></td>
                        <form action='index.php?action=brisi' method='post' name='delete'>
                    </tr>
               ";
          }
          echo "</table><br><br><div align='center'>
          <table border='0' cellpadding='0' cellspacing='0' width='100%'>
          <tr><td><p align='right'><input type='submit' name='delete' value='Delete'></td></tr></table>";
   }
}
else
{
    echo "Momentalno nema Softwares!";
}
break;
 //--------------------------
 //this case takes the submitted
 //form data of the admin form.
 //you can either validate, or delete
 //--------------------------
      case "brisi":
      //if nothing is submitted in the
      //row[] array, then error!
      if(empty($_POST['row']))
      {
           echo "Nothing to delete!";
      }
      if(isset($_POST['delete']))
      {
           $delete_array = $_POST['row'];
      
           //loop through each individual
           //item in the array
           
           foreach($delete_array as $val)
           {
                //delete them!
                $query = "DELETE FROM software WHERE id = '$val'";
                $result = mysql_query($query) or die(mysql_error());
           }
           echo "Product has been successfull delete!";
      }
      break;



 
Odgovor na temu

balkan7

Član broj: 119255
Poruke: 82
85.30.102.*



Profil

icon Re: foreach Warning!05.11.2006. u 23:11 - pre 212 meseci
bas sam provjerio na kategoriju broj 1 brise ono sta zelis, a na ostalima pise ono ! ?
 
Odgovor na temu

kelja

Član broj: 70429
Poruke: 1416
*.dialup.neobee.net.



+35 Profil

icon Re: foreach Warning!06.11.2006. u 00:50 - pre 212 meseci
pa cini se da $delete_array i nije niz...Prvi argument za foreach funkciju trebalo bi da bude niz...
uradi sledece:
echo $delete_array;
pa proveri sta je s tom varijablom
 
Odgovor na temu

balkan7

Član broj: 119255
Poruke: 82
85.30.102.*



Profil

icon Re: foreach Warning!06.11.2006. u 13:01 - pre 212 meseci
bas sam i to probao ali nepokazuje nista, a osim toga ako nesto dodajes u kategorijama onda kad ides na delete tada se brise ali ono sto je bio prije njega dodano ono ga nebrise, evo sta mi pokazuje:

Code:
Nothing to delete!
Warning: Invalid argument supplied for foreach() in /home/xxx/public_html/test/index.php on line 256
Product has been successfull delete!
 
Odgovor na temu

adi356
Adorjan Cizmadia
CEO of BidUno
BidUno
Novi Sad

Član broj: 65311
Poruke: 22

Sajt: www.biduno.com


Profil

icon Re: foreach Warning!10.11.2006. u 21:28 - pre 212 meseci
Pregledao sam ti kod i sa tri crtice (---) sam ti obelezio gde sam kod promenio. Sada treba da radi. Treba samo da izbrises te moje crtice.

Prva greska ti je bila sto si formu poceo na kraju tabele i nisi je zatvorio. Forma mora da pocne na pocetku tabele da bi ti mogao da radis sa promenjivama koje koristis na sajtu.

Druga greska ti je u case "brisi". Prvo treba da izvrsis $_POST['delete'] a tek onda da proveravas koja promenjiva postoji a koja ne, a ako ne postoji onda je kraj programa, ako postoji onda radi foreach komandu.

Treca greska koja mozda nije ni greska je kod <form action>. Dodao si GET varijablu (action) i dodeli joj vrednost brisi. Ovo ti ne treba u ovom kodu, jer u case "brisi" on zove $_POST['delete'] sto je name='Delete' na kraju forme. Posle metod='post' si stavio name='delete' sto je isto tako nepotrebno, osim ako hoces da izvrsis neku javascript komandu. Ali kako vidim, ovde to nije slucaj.

To je sve od mene. Ako nesto nije dobro, tu sam.


Code:

case "pregled":
  //if there is an ID given...
  if($_GET['id'])
  {
      //get the id, put it into a variable, cast to an INT
      //(for security purposes)
      $id = (int)$_GET['id'];
      $query = mysql_query("SELECT * FROM software WHERE kat_id = '$id' AND validen = '1'") or die(mysql_error());

      //if no results, show that there are no tutorials
      //for that category
      if(mysql_num_rows($query) == 0)
      {
          echo "Nema software vo ovaa Kategorija!";
      }
      //else, there is..show em
      else
      {
          //show all products
          echo "<br>
          <div align='center'>
      ---    <form action='index.php?action=brisi' method='post' name='delete'>
          <table border='0' cellpadding='0' cellspacing='0' width='90%' style='border: 1px solid #336699'>
          <tr>
             <td>
             <table border='0' width='100%' cellpadding='0'>
          <tr>
              <td bgcolor='#0099CC'><h3 align='center'>Pregled na Softwares</h3></td>
          </tr>
          </table>
          <table border='0' width='100%' cellpadding='0'>
          <tr>
              <td style='border: 1px solid #0099CC' bgcolor='#0099CC'>Sifra</td>
              <td style='border: 1px solid #0099CC' bgcolor='#0099CC'>Naslov</td>
              <td style='border: 1px solid #0099CC' bgcolor='#0099CC'>Opis</td>
              <td style='border: 1px solid #0099CC' bgcolor='#0099CC'>Kategorija</td>
              <td style='border: 1px solid #0099CC' bgcolor='#0099CC'>CD & DVD</td>
              <td style='border: 1px solid #0099CC' bgcolor='#0099CC'>Novo?</td>
              <td style='border: 1px solid #0099CC' bgcolor='#0099CC'>Datum</td>
              <td style='border: 1px solid #0099CC' bgcolor='#0099CC'>Izmeni</td>
              <td style='border: 1px solid #0099CC' bgcolor='#0099CC'>Izbrisi</td>
          </tr>
          </div>
          </table>";
          while($row = mysql_fetch_array($query))
          {
              echo "<table border='0' cellpadding='0' cellspacing='0' width='100%'>
                   <tr>
                       <td style='border: 1px solid #0099CC'><b>$row[sifra]</b></td>
                       <td style='border: 1px solid #0099CC'><b>$row[naslov]</b></td>
                       <td style='border: 1px solid #0099CC'>$row[opis]</td>
                       <td style='border: 1px solid #0099CC'>$row[kat_id]</td>
                       <td style='border: 1px solid #0099CC'>$row[cd_id]</td>
                       <td style='border: 1px solid #0099CC'>$row[novo]</td>
                       <td style='border: 1px solid #0099CC'>$row[datum]</td>
                       <td style='border: 1px solid #0099CC'><a href='izmeni.php?action=popravi&id=$row[id]'><img src='sliki/edit.gif' width='24' height='24'></a></td>
                        <td style='border: 1px solid #0099CC'><input type='checkbox' name='row[]' value='$row[id]'>&nbsp;<img src='sliki/delete.gif' width='24' height='24'></td>

                    </tr>
               ";
          }
          echo "</table><br><br><div align='center'>
          <table border='0' cellpadding='0' cellspacing='0' width='100%'>
       ---   <tr><td><p align='right'><input type='submit' name='delete' value='Delete'></td></tr></table></form>";
   }
}
else
{
    echo "Momentalno nema Softwares!";
}
break;
 //--------------------------
 //this case takes the submitted
 //form data of the admin form.
 //you can either validate, or delete
 //--------------------------
      case "brisi":
      //if nothing is submitted in the
      //row[] array, then error!

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

 ---       if(empty($_POST['row']))
      {
           echo "Nothing to delete!";

   ---   } else {

           $delete_array = $_POST['row'];

           //loop through each individual
           //item in the array

           foreach($delete_array as $val)
           {
                //delete them!
                $query = "DELETE FROM software WHERE id = '$val'";
                $result = mysql_query($query) or die(mysql_error());
           }
           echo "Product has been successfull delete!";
      }
   ---  }
      break;

Biduno, aukcijski sajt na kome, pored postavljanja aukcija i kupi odmah predmeta, možeš da otvoriš i svoju virtuelnu prodavnicu i poboljšaš prodaju i vidljivost svojih predmeta.

Poseti nas i postavi svoj predmet besplatno ili potraži predmet koji ti se sviđa i kupi ga ili nudi.
 
Odgovor na temu

balkan7

Član broj: 119255
Poruke: 82
85.30.102.*



Profil

icon Re: foreach Warning!12.11.2006. u 13:29 - pre 212 meseci
hvala ti puno, sada sve je ok, ali htio bi da te pitam jos nesto ako imas vremena da mi to objasnis malo,
u checkbox-u je pitanje jel product nov, e sad kod mene prikazuje sa broj ako je nov prikazuje 1 ako nije nov onda prikazuje 0, kako sad mogu napraviti na svaki product ako je nov da prikazuje NOVO, a ako nije onda da neprikazuje nista, i za kraj sa CD, oni su u optional, sta znaci ako izaberem cd sa slovima kao naprimer DVD 1, prikazuje mi po ID, treba mi kod za da preimenjujem to u slovima!
evo moja baza

baza.sql
Code:
CREATE TABLE `product` (
  `id` INT(250) NOT NULL AUTO_INCREMENT,
  `sifra` VARCHAR(25) NOT NULL,
  `naslov` VARCHAR(250) NOT NULL,
  `opis` TEXT NOT NULL,
  `kat_id` VARCHAR(25) NOT NULL,
  `cd_id` VARCHAR(25) NOT NULL,
  `novo` TINYINT(1) NOT NULL,
  `datum` VARCHAR(250) NOT NULL,
  `validen` TINYINT(1) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM;


CREATE TABLE `product_kategorija` (
  `id` INT(25) NOT NULL AUTO_INCREMENT,
  `kategorija` VARCHAR(250) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM;


CREATE TABLE `product_cd` (
  `id` INT(25) NOT NULL AUTO_INCREMENT,
  `cd` VARCHAR(250) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM;
 
Odgovor na temu

balkan7

Član broj: 119255
Poruke: 82
85.30.102.*



Profil

icon Re: foreach Warning!13.11.2006. u 16:30 - pre 212 meseci
jel moze mi neko pomoci ?
 
Odgovor na temu

[es] :: PHP :: foreach Warning!

[ Pregleda: 1523 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

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