2013-08-12 5 views
0

Je suis confronté au problème que lorsque j'essaie de mettre à jour le champ montant dans la table en utilisant la requête dans le code php, alors il ne fonctionne pas. Voir cette image:Mise à jour dans mysql PHP Table

enter image description here

Mais si je l'ai fait par le champ enlève de l'exercice, alors il travaille ......

Mon code php est:

if(isset($_POST['mid_update'])) 
{ 
echo $subscription3=$_POST['subscription']; 
echo $member_type3=$_POST['member_type']; 
echo $financial_year3=$_POST['financial_year']; 
echo $amount3=$_POST['amount']; 

$qry=mysqli_query($con,"update dbo_tbfeemaster set nu_amount='$amount3' where nu_sub_id='$subscription3' and vc_member_type='$member_type3' and vc_financial_year='$financial_year3'"); 
if($qry) 
{ 
header("location:subscription_fee_master.php?w=updation success"); 
} 
else 
{ 
header("location:subscription_fee_master.php?w=updation not success"); 
} 
} 

Avec ce code, la mise à jour est réussie mais la mise à jour n'est pas effectuée.

enter image description here

je changer le format de date:

<option value="<?php $dat1=$q['dt_period_start_date']; 
echo date("d-M-Y",strtotime($dat1));?>&nbsp;to&nbsp;<?php $dat2=$q['dt_period_end_date']; 
echo date("d-M-Y",strtotime($dat2));?>"> 

Et est égale à la même colonne exercice de base de données ...

Everthing va bien alors pourquoi ma table n'est pas mise à jour. Toute suggestion serait très appréciée et n'hésitez pas à me demander si j'ai oublié quelque chose à mentionner ici concernant mon problème ...

+0

Le format de date dans le champ de saisie n'est pas la même que celle enregistrée dans la base de données – tlenss

+0

j'ai changement format de date pour correspondre à la colonne de base de données ... voir ma question ... éditée – Amy

Répondre

0

Il semble que les formats de date que vous utilisez dans la requête ne s'alignent pas. Essayez quelque chose comme ça pour vous assurer que les formats sont les mêmes. Vous pourriez vouloir séparer ces deux dates et les stocker dans des colonnes séparées. Ce qui rendrait cela beaucoup plus facile à mon goût.

$dateStr = '2011-04-01 to 2012-03-31'; 
$parts = explode('to', $dateStr); 

$result = array_map(function($value) { 
    $date = date_create(trim($value)); 
    return date_format($date, 'd-M-Y'); 
}, $parts); 

$dateStr = implode(' to ', $result);