Php ile birden fazla kaydı güncelleme

Web tabanlı uygulama geliştirme araçları(PHP, ASP vb...) ile ilgili konuları buraya yazabilirsiniz.
Cevapla
AliRiza
Üye
Mesajlar: 172
Kayıt: 24 Kas 2004 10:57
Konum: İstanbul/Avcılar
İletişim:

Php ile birden fazla kaydı güncelleme

Mesaj gönderen AliRiza »

Ya arkadaşlar php ile birden fazla kaydı güncellemeye çalışıyorum.
Bunun için kullanıcının girdiği verileri aşağıdaki şekilde diziye attım..Ayrıca checkbox seçili hale getirdiğinde üye numarasını aldırıyorum.Aşağıdaki şekilde diziye atıyorum.

Kod: Tümünü seç

<input name="adet[]" value="<?php echo$satir[12];?>" type="text" size="10" >

<INPUT TYPE="checkbox" NAME="uyeno[]" value="<?php echo$satir[0];?>">
Benim problemim diziden gelen elemanları aldırıp güncelleme yapmak..

Kod: Tümünü seç

 $uyeno=$_POST['uyeno'];
 $adetimiz=$_POST['adet']; 
 array_keys($adetimiz,$uyeno);

	foreach($adetimiz as $uyeno =>$k ) 
      {  
	 if ($submit=='SEPETE AT')
     {
       Echo "Adet $k";
       Echo "Üye Numarasi $uyeno";
      $s=mysql_query("Update volvocatalog set siparis='1',username='$username',adet='$k' WHERE id='$uyeno'", $baglan) or die("Sorguda hata var");
      $volvo_search=$HTTP_GET_VARS["volvo_search"];
      //echo"<meta http-equiv=\"refresh\" content=\"1;URL=".$_SERVER['PHP_SELF']."\">";
     }//if'in end'i Sepete ata ait
   } //foreach end'i                                  
  }//post'in end'i
foreach'i yukarıdaki şekilde kullanıyorum..Üye numarasını 0 alıyor..
İç ice for each kullanmayı denedim olmadı...
Problemim kullanıcının girdiği 2 değeri diziden alıp sorguda belirtmek..
Aşağıda tüm kodları gönderdim..
Lütfen acil olarak yardım ederseniz çok memmun olurum..

Kod: Tümünü seç

 <?php

ob_start("ob_gzhandler");

?>
<? $baglan = mysql_connect ("localhost", "root", "triadpass");       
 $sec = mysql_select_db("nas",$baglan);           
  if (isset($_POST['submit'])) 
  {  
 
  $submit=$HTTP_POST_VARS["submit"];  
         session_start(); 
	 
	   $username = $_SESSION['User']['UserName'];  
 $uyeno=$_POST['uyeno'];
 $adetimiz=$_POST['adet']; 
 array_keys($adetimiz,$uyeno);

	foreach($adetimiz as $uyeno =>$k ) 
      {  
	 if ($submit=='SEPETE AT')
     {
       Echo "Adet $k";
       Echo "Üye Numarasi $uyeno";
      $s=mysql_query("Update volvocatalog set siparis='1',username='$username',adet='$k' WHERE id='$uyeno'", $baglan) or die("Sorguda hata var");
      $volvo_search=$HTTP_GET_VARS["volvo_search"];
      //echo"<meta http-equiv=\"refresh\" content=\"1;URL=".$_SERVER['PHP_SELF']."\">";
     }//if'in end'i Sepete ata ait
   } //foreach end'i                                  
  }//post'in end'i
    else{    
  $ct=$HTTP_GET_VARS[ct];

$volvo_search=$HTTP_GET_VARS[volvo_search];
    session_start(); 
	 
	   $username = $_SESSION['User']['UserName'];
		  
    //--------- SORGU ----------------------//        
$sayfa = $_GET["sayfa"]; 
  if(!$sayfa) $sayfa = 1; 
$kacar=10 ; 
  if($ct<>"1")
  {
  $toplam=mysql_num_rows(mysql_query("select distinct orgno,id,ntno,description,picture,catalognotes from volvocatalog  where ntno like '%$volvo_search%' or orgno like '%$volvo_search%' or description like '%$volvo_search%' order by id ")); 
  $kacsayfa = ($toplam / $kacar)+1;
$kactan   = ($sayfa-1) * $kacar; 
 }
  if($ct==1)
 {
 $toplam2=mysql_num_rows(mysql_query("select distinct orgno,id,ntno,description,picture,catalognotes from volvocatalog  where ntno like '%$volvo_search%' or orgno like '%$volvo_search%' or description like '%$volvo_search%' order by id ")); 
  $kacsayfa = ($toplam2 / $kacar)+1;
$kactan   = ($sayfa-1) * $kacar; 
 }

 if($ct<>"1")
  {        
   $sql="select * from volvocatalog where ntno like '%$volvo_search%' or orgno like '%$volvo_search%' or description like '%$volvo_search%' limit $kactan,$kacar";       
 $sorgu=mysql_query($sql,$baglan);
}
 
 if($ct==1)
 {
 $sql="select * from volvocatalog where ntno like '%$volvo_search%' or orgno like '%$volvo_search%' or description like '%$volvo_search%' limit $kactan,$kacar";       
    $sorgu=mysql_query($sql,$baglan);
   }    
?>
<HTML xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns="http://www.w3.org/TR/REC-html40">    
<HEAD>        
	<meta http-equiv="Content-Language" content="tr">        
<TITLE>        </TITLE>    
<style type="text/css">
<!--
.style1 {
	color: #FFFFFF;
	font-weight: bold;
}
.style6 {font-size: 14px; font-weight: bold; color: #FFFFFF; }
.stok_hand {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10pt; text-decoration: none; cursor: hand}
-->
</style>
</HEAD>       
	  <link rel=stylesheet href='form/format.css'>       
	   <body bgcolor="#FFFACD">        <center>                  
	   <form  method="post" action='<?=$_SERVER['PHP_SELF']?>'>        <p> </p>       
	     <table width="783" border="0" cellspacing="0" cellpadding="0">
           <tr>
             <td width="783"><table width="783" height="167" border="0" align="right" bgcolor="#FF0000">
               <tr bgcolor="#FFEBCD">
                 <td width="777" height="37" bgcolor="#003399" valign="middle">
                   <p align="center" class="style1">VOLVO CATALOG </td>
               </tr>
                <tr bgcolor="#993333">
                 <td width="777" height="96" align="right">
                   <table width="100%" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#111111" id="AutoNumber1" style="border-collapse: collapse">
                     <tr bgcolor="#993333">
                       <td width="36%" height="37" align="center"><span class="style6">PICTURE</span></td>
                       <td width="9%" align="center"><span class="style6">NT. REF </span></td>
                       <td width="9%" align="center"><span class="style6">ORG. REF </span></td>
                       <td width="20%" align="center"><span class="style6">DESCRIPTION</span></td>
                       <td width="11%" align="center"><span class="style6">NOTES</span></td>
                       <td width="12%" align="center"><div align="center"><span class="style6">QUANTFY</span></div></td>
                       <td width="3%" align="center">&nbsp;</td>
                     </tr>
                     <?php   $i=0;                    
		 while($satir = mysql_fetch_array($sorgu)) 
		{                     
		$i++; ?>
                     <tr bgcolor="#efefef" >
                       <? $picture="$satir[9].jpg";?>
					   <td width="36%" height="206"> <div align="center"><font color="#CC0000" face="Arial, Helvetica, sans-serif"><img src="/html/volvo_picture/<?php echo $picture;?>" width="238" height="161" align="middle" border="0"></font></div></td>
                       <td width="9%"> <?php echo$satir[4];?> <div align="center"></div></td>
                       <td width="9%"> <?php echo$satir[5];?> <div align="center"></div></td>
                       <td width="20%">  <?php echo$satir[6];?>
                         <div align="center"></div></td>
                       <td><?php echo$satir[7];?>
                         <div align="center"></div></td>
                       <td><div align="center">
                         <input name="adet[]" value="<?php echo$satir[12];?>" type="text" size="10" >
                       </div></td>
                       <td width="3%">                           
                         <div align="center">
                           <INPUT TYPE="checkbox" NAME="uyeno[]" value="<?php echo$satir[0];?>">
                     </div></td></tr>
                     <? } echo$i; ?>
                   </table>
                   <table width="777" border="0" bgcolor="#FF0000" align="center" cellpadding="0" cellspacing="0">
                     <tr>
                       <td bgcolor="#FF0000">
                         <div align="center"><font color="#FFFFFF" face="Arial, Helvetica, sans-serif">
                           <?}Echo "$toplam adet mü&thorn;teri";?>
                       </font></div></td>
                     </tr>
                     <tr>
                       <td bgcolor="#FF0000"><b><font face="Arial, Helvetica, sans-serif" size="2" color="#FFFFFF"> <?Echo "$sayfa".".sayfa";?> </font></b></td>
                     </tr>
                     <tr>
                       <td bgcolor="#FF0000"> <b><font face="Arial, Helvetica, sans-serif" color="#FFFFFF"  onMouseOut="bgColor='#EFEFEF'" class="stok_hand"><?echo "<br>";
  
	for($i=1; $i < $kacsayfa; $i++) 
{
echo "<a href=volvo_finds.php?sayfa=".$i."&volvo_search=".urlencode($volvo_search).">".$i."</a>\n"; 
}
?> </font></b></td>
                     </tr>
                 </table></td>
               <tr bgcolor="#87CEFA">
                 <td width="777" height="1" bgcolor="#003399">                   <p align="center">
                     <input type="submit" name="submit" value="SEPETE AT">
               </tr>
             </table></td>
           </tr>
         </table>
	   </form> 
		 </center> 
</body>
</HTML>                
		
Bilginin efendisi olmak için çalışmanın uşağı olmak şarttır...
BALZAC
Bana bir harf öğretenin kulu kölesi olurum..
HZ.ALİ
AliRiza
Üye
Mesajlar: 172
Kayıt: 24 Kas 2004 10:57
Konum: İstanbul/Avcılar
İletişim:

Mesaj gönderen AliRiza »

Arkadaşlar sadece tek bir değer olduğunda foreach ile aldırabiliyorum..
Üye numarasını diziden çekmem benim işimi görecek.Ama bunu foreach ile nasıl yaptırırı.Yani hem üye,hem adeti foreach ile aldırmam gerekiyor..
Foreach'in 2 tanede dizideki değeri döndürme gibi bir işlevi yok...
Lütfen yardım...........................
Bilginin efendisi olmak için çalışmanın uşağı olmak şarttır...
BALZAC
Bana bir harf öğretenin kulu kölesi olurum..
HZ.ALİ
onaydin

Mesaj gönderen onaydin »

Yani hem üye,hem adeti foreach ile aldırmam gerekiyor..
Foreach'in 2 tanede dizideki değeri döndürme gibi bir işlevi yok.
Merhaba
Koduna bakamadım ama foreach le şöyle yapabilirsin

Kod: Tümünü seç

foreach (array_expression as $key => $value)
    statement


<input name="$dizi[$key]" value = "<?$value?>" >
gibi
AliRiza
Üye
Mesajlar: 172
Kayıt: 24 Kas 2004 10:57
Konum: İstanbul/Avcılar
İletişim:

Mesaj gönderen AliRiza »

Onaydın kardeş yardımın için çok teşekkür ederim.Yanlız şöyle bir problemim var.Kardeş son yazdığınızda name'ine dizideki key'imi atmam gerekiyor...
Lütfen yardım..
Bilginin efendisi olmak için çalışmanın uşağı olmak şarttır...
BALZAC
Bana bir harf öğretenin kulu kölesi olurum..
HZ.ALİ
AliRiza
Üye
Mesajlar: 172
Kayıt: 24 Kas 2004 10:57
Konum: İstanbul/Avcılar
İletişim:

Dizideki eleman sayısı

Mesaj gönderen AliRiza »

Foreach yerine normal for döngüsü kullandım.Bu durumda da dizideki eleman sayısını aldırmam gerekiyor..Count kullandım.Count ile dizideki eleman sayısı 2 eleman seçmeme rağmen sürekli 10 gözüküyor.Ne yapmam lazım.

Kod: Tümünü seç

$uyeno=$_POST['uyeno'];
 $adetimiz=$_POST['adet']; 
 $cadet=count($adetimiz);
 $urunsayisi=count($uyeno);
  Echo"Dizi eleman adedi $cadet\n";
     $cadet=$cadet-7;
	 if ($submit=='SEPETE AT')
     {
      for($k=0; $k<$cadet; $k++) 
      { 
	  Echo $adet=$adetimiz[$k];
	  Echo $uyeno=$uyeno[$k];
     $s=mysql_query("Update volvocatalog set siparis='1',username='$username',adet='$adet' WHERE id='$uyeno'", $baglan) or die("Sorguda hata var");
     $volvo_search=$HTTP_GET_VARS["volvo_search"];
      //echo"<meta http-equiv=\"refresh\" content=\"1;URL=".$_SERVER['PHP_SELF']."\">";
     }//if'in end'i Sepete ata ait
   } //foreach end'i                                  
  }//post'in end'i
Bilginin efendisi olmak için çalışmanın uşağı olmak şarttır...
BALZAC
Bana bir harf öğretenin kulu kölesi olurum..
HZ.ALİ
AliRiza
Üye
Mesajlar: 172
Kayıt: 24 Kas 2004 10:57
Konum: İstanbul/Avcılar
İletişim:

Cevap

Mesaj gönderen AliRiza »

Arkadaşlar foreach dışında kullandığım formdaki öğelerin içeriklerini alıyor..
Belki bir arkadaşıma lazım olur...

Kod: Tümünü seç

while(list($key, $val) = each($HTTP_POST_VARS))
      { 
Echo "Key=$key,Value=$val";
}
Ayrıca istediğiniz öğeyi diziye atmak için...Aşağıdakine benzer bir yöntem kullanabilirsiniz..Aşağıdaki şekilde dizinin key değerlerini veritabanından aldırıyorum..

Kod: Tümünü seç

<input name="adet<?echo $satir[0]?>" value="<?echo $satir[adet];?>" type="text" size="5" >
Bu şekilde de kullanılır.Ama key değeri 0'dan itibaren başlar..

Kod: Tümünü seç

<input name="adet[]" value="<?echo $satir[adet];?>" type="text" size="5" >
Bilginin efendisi olmak için çalışmanın uşağı olmak şarttır...
BALZAC
Bana bir harf öğretenin kulu kölesi olurum..
HZ.ALİ
alikus

Mesaj gönderen alikus »

nesne ismini şu şekilde kullandım <input name="adet[]"> ve sorunsuz çalışıyor ve php ile erişebiliyorum. Peki bu nesneye javascript ile nasıl erişirim.
alert (document.Uyeform.yakini[0].value); bir kod kullandım ama şöyle bir hata veriyor.
( 'document.Uyeform.yakini.0' null veya nesne değil' )
bunu sebebi nedir nesne ismini (yakini.0) şeklinde araya noktalı görüyor. Sonuç olarak bu nesneye ulaşamıyorum ne yapmam lazım.
Kullanıcı avatarı
salvation
Üye
Mesajlar: 303
Kayıt: 22 Mar 2004 01:57
Konum: Eskişehir
İletişim:

Mesaj gönderen salvation »

alikus yazdı:nesne ismini şu şekilde kullandım <input name="adet[]"> ve sorunsuz çalışıyor ve php ile erişebiliyorum. Peki bu nesneye javascript ile nasıl erişirim.
alert (document.Uyeform.yakini[0].value); bir kod kullandım ama şöyle bir hata veriyor.
( 'document.Uyeform.yakini.0' null veya nesne değil' )
bunu sebebi nedir nesne ismini (yakini.0) şeklinde araya noktalı görüyor. Sonuç olarak bu nesneye ulaşamıyorum ne yapmam lazım.
:arrow: Nesneleri döngüyle oluşturduğuna göre, hepsine özel id verebilirsin. Döngü olmadan bir örnek vereyim:

<form name="form1" method="post" action="">
<input type="text" name="adet[]" id="adet_0">
<input type="text" name="adet[]" id="adet_1">
</form>

<input onClick='javascript: document.form1.adet_0.value = "55";' type="submit" value="Submit">


:arrow: Eğer döngü içinde yaparsanda

<input type="text" name="adet[]" id="adet_<?=$i?>">

şeklinde nesneleri oluşturabilirsin.
alikus

Mesaj gönderen alikus »

Kod: Tümünü seç

		      <SELECT name="yakini[]" id="Yakini_<?=$x?>">
		        <OPTION value="" selected>Seçiniz                        
		            <OPTION value=1>Eşim
		            <OPTION value=2>Babam
		            <OPTION value=3>Çocuğum
		            <OPTION value=4>Arkadaşım
		            <OPTION value=5>Akrabam
		            <OPTION value=6>Sevgilim									
		            <OPTION value=7>Diger												
					</OPTION>
		      </SELECT>
bir nesnem var.
Nesneye söylediğin gibi bir id verdim ( id="Yakini_<?=$x?> )
ama

Kod: Tümünü seç

 Alert(document.UyeForm.Yakini_0.value) 
yazınca hata mesajı veriyor ('document.UyeForm.Yakini_0',null veya nesne değil)
ne yapmam lazım
Kullanıcı avatarı
salvation
Üye
Mesajlar: 303
Kayıt: 22 Mar 2004 01:57
Konum: Eskişehir
İletişim:

Mesaj gönderen salvation »

:arrow: Öncelikle javascriptte büyük küçük harflere çok dikkat etmelisin,

Kod: Tümünü seç

 Alert(document.UyeForm.Yakini_0.value) 
Örneğin Alert diye bir fonksiyon yoktur, baş harfi küçük olmalı, doğrusu

Kod: Tümünü seç

alert(document.UyeForm.Yakini_0.value)
olmalı, bilgine.

:arrow: Aşağıdaki kod bu haliyle çalışmaktadır:

Kod: Tümünü seç

<form name="UyeForm">
		<SELECT name="yakini[]" id="Yakini_0"> 
		<OPTION value="" selected>Seçiniz                        
		<OPTION value=1>Eşim 
		<OPTION value=2>Babam 
		<OPTION value=3>Çocuğum 
		<OPTION value=4>Arkadaşım 
		<OPTION value=5>Akrabam 
		<OPTION value=6>Sevgilim                            
		<OPTION value=7>Diger                                     
		</OPTION> 
	</SELECT>
</form>

<input onClick="javascript: alert(document.UyeForm.Yakini_0.value);" type="submit" value="Submit">
Yani menüden "çocuğum" seçilmişse, ekrana uyarı penceresinde "3" yazdırılıyor. ('document.UyeForm.Yakini_0',null veya nesne değil) demesinin sebebi id="Yakini_<?=$x?> x değişkenin boş olmasından olabilir, veya büyük küçük harflerde bir hata yapmış olabilirsin. Kaynak kodunu görüntüleyerek id="Yakini_<?=$x?> x kısmında doğru değer yazıp yazmadını bi kontrol edermisin?
alikus

Mesaj gönderen alikus »

Tamam oldu. Kücük büyük harf ayrımındanmış. Teşekkürler.
P206
Kıdemli Üye
Mesajlar: 395
Kayıt: 17 Haz 2003 12:36
Konum: İstanbul

Mesaj gönderen P206 »

Selamlar
Php de dinamik olarak veri tabanından gelen bilgiler göre table içinde text le ve yanında submit oluşturuyorum

Kod: Tümünü seç

<input onClick=\"javascript: alert(document.sepet.aa$deger.value)\" ...
şeklinde text kutsunun içinde yazan değeri alabliyorum.
Fakat aldığım bu değeri diğer forma göndermek istiyorum (Buton Tıklanınca bu değeri )

Kod: Tümünü seç

sepet.php?oem=$deger
gibi yeni bir pencere açılarak oraya göndermek istiyorum...

Bunu nasıl yaparım Teşekkürler...
I love my car.
Blog Yaptık
Cevapla