Yaptığım tablodan çektiğim verileri Mysql e yazamıyorum yardımcı olabilirmisiniz..

AcemiPHPGurhan Korkmaz

tablo yapım

CREATE TABLE `kupon` (
  `kupon_id` int(11) NOT NULL AUTO_INCREMENT,
  `magaza` varbinary(50) NOT NULL,
  `fis_no` int(15) NOT NULL,
  `tutar` int(9) NOT NULL,
  `k_m_id` int(11) NOT NULL,
  `kuponsayi` int(11) NOT NULL,
  PRIMARY KEY (`kupon_id`)
) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=binary;

Bir siteden bulduğum kod yardımıyla bu şekilde bir tablo ve form oluşturdum

 <script>
        function addRow(tableID) {
 
            var table = document.getElementById(tableID);
 
            var rowCount = table.rows.length;
            var row = table.insertRow(rowCount);
 
            var colCount = table.rows[0].cells.length;
 
            for(var i=0; i<colCount; i++) {
 
                var newcell = row.insertCell(i);
 
                newcell.innerHTML = table.rows[0].cells[i].innerHTML;
                //alert(newcell.childNodes);
                switch(newcell.childNodes[0].type) {
                    case "text":
                            newcell.childNodes[0].value = "";
                            break;
                    case "checkbox":
                            newcell.childNodes[0].checked = false;
                            break;
                    case "select-one":
                            newcell.childNodes[0].selectedIndex = 0;
                            break;
                }
            }
        }
 
        function deleteRow(tableID) {
            try {
            var table = document.getElementById(tableID);
            var rowCount = table.rows.length;
 
            for(var i=0; i<rowCount; i++) {
                var row = table.rows[i];
                var chkbox = row.cells[0].childNodes[0];
                if(null != chkbox && true == chkbox.checked) {
                    if(rowCount <= 1) {
                        alert("Cannot delete all the rows.");
                        break;
                    }
                    table.deleteRow(i);
                    rowCount--;
                    i--;
                }
 
            }
            }catch(e) {
                alert(e);
            }
        }
 
    </script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head>
<body>
      <form name="form1" id="form1" action="kuponekle.php" method="POST">
      
          <label for="button"></label>
          <input type="button" value="Kupon Ekle" onclick="addRow('dataTable')" />
         
       
        <table width="378" border="0">
          <tr>
            <td width="127">Mağaza</td>
            <td width="146" align="center">Fiş No</td>
            <td width="91" align="center"> Tutar</td>
          </tr>
        </table>
        <table id="dataTable" width="380" border="0">
          <tr>
            <td><select name="magazalar[]">
              <option value="magaza">Mağaza</option>
              <option value="market">Market</option>
              <option value="mango">Mango</option>
              <option value="derimod">Derimod</option>
              <option value="tefal">Tefal</option>
              <option value="koton">Koton</option>
            </select></td>
            <td><input type="text" name="fisno[]"/></td>
            <td><input name="tutar[]" type="text" size="15"/></td>
            <td><input name="kmid[]" type="hidden" id="kmid" value="1" /></td>
          </tr>
        </table>
<p>&nbsp;</p>
        <p>&nbsp;</p>
        <p>
          <input type="submit" name="button" id="button" value="kaydet" />
        </p>
</form>

kuponekle.php sayfamda bu şekilde.

<?php
$mgz = $_POST['magazalar'];
$fno = $_POST['fisno'];
$ttr = $_POST['tutar'];
$kuponmid = $_POST['kmid'];

foreach($fno as $a => $b)
  echo "$mgz[$a]  -  $fno[$a]  -  $ttr[$a]  -  $kuponmid[$a] <br />";
 

$con = mysql_connect("localhost","root","");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
  mysql_select_db("avm", $con);


$sql="insert into kupon (`magaza`,`fis_no`,`tutar`,`k_m_id`,`kuponsayi`) values ('$mgz[$a]', '$fno[$a]', '$ttr[$a]', '$kuponmid[$a]', '$kpnsayi')"; 

mysql_query("$sql");

/* bu satır.... */
echo mysql_error();

if (mysql_affected_rows()>0)
{
echo "oldu";
}
else
{
echo "olmadı";
}

?>

form doldurulup 3,4 adet veri girildiğinde (bana gerekli olan bu şekilde olması) ekrana veriler gelmekte fakat verileri tabloma yazamamaktayım sadece son girilen verinin değeri tabloma kaydediyor, yardımcı olabilirmisiniz girilen verilerin hepsini nasıl sql e eklerim.

2011-01-08 03:18:47

Php

yusuefYusuf PolatAvatar

Arkadaşım cevabı kendin veriyorsun zaten. Ekrana yazdırabiliyorsan insert işleminde sorun var demek ki.

$sql="insert into kupon (`magaza`,`fis_no`,`tutar`,`k_m_id`,`kuponsayi`) values ('$mgz[$a]', '$fno[$a]', '$ttr[$a]', '$kuponmid[$a]', '$kpnsayi')"; 

mysql_query("$sql");


yukarıda ki kod grubunu

foreach($fno as $a => $b)
  echo "$mgz[$a]  -  $fno[$a]  -  $ttr[$a]  -  $kuponmid[$a] <br />";


döngüsü gibi foreach içerisinde kullanacaksın ve her satır için insert yapacaksın.Böylelikle sorunun çözülür.Örnek olarak;

foreach($fno as $a => $b)
{
    echo "$mgz[$a]  -  $fno[$a]  -  $ttr[$a]  -  $kuponmid[$a] <br />";
    $sql="insert into kupon (Burada echo ile yukarıda yazdırdığın alanlar olacak) values ()";
   mysql_query("$sql");
}

2011-01-09 17:35:40 Edit:2011-01-09 17:38:30

phpkodlari.com © 2009 Herkes Php öğrenecek
Eglence ve Oyun: Gamikro