2013-08-16 2 views
1

je une table nommée allouer comme celui-ciobtenir des données ligne sages de la base de données

CREATE TABLE allocate(
    mid int(10), 
    pid int(20), 
    day1 int(2), 
    day2 int(2), 
    ... 
    day31 int (2) 
); 

En mid, je le numéro d'un correspondant à un mois (1 est Janvier, 2 est Février, etc.). Du jour 1 au jour 31, j'ai des valeurs numériques. J'essaie maintenant de récupérer et mettre à jour les données pour le même, mais je suis incapable de le faire.

J'utilise le code suivant pour récupérer les données de chaque mois:

mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB"); 


$sql = "select * from allocate where product_id = '".$product_id."' "; // 

$res = mysql_query($sql) or die(mysql_error()); 

while($row = mysql_fetch_array($res)) 
{ 
    $day1 = $row['day1']; 
    $day2 = $row['day2']; 
    $day3 = $row['day3']; 
    $day4 = $row['day4']; 
    $day5 = $row['day5']; 
    $day6 = $row['day6']; 
    $day7 = $row['day7']; 
    $day8 = $row['day8']; 
    $day9 = $row['day9']; 
    $day10 = $row['day10']; 
    $day11 = $row['day11']; 
    $day12 = $row['day12']; 
    $day13 = $row['day13']; 
    $day14 = $row['day14']; 
    $day15 = $row['day15']; 
    $day16 = $row['day16']; 
    $day17 = $row['day17']; 
    $day18 = $row['day18']; 
    $day19 = $row['day19']; 
    $day20 = $row['day20']; 
    $day21 = $row['day21']; 
    $day22 = $row['day22']; 
    $day23 = $row['day23']; 
    $day24 = $row['day24']; 
    $day25 = $row['day25']; 
    $day26 = $row['day26']; 
    $day27 = $row['day27']; 
    $day28 = $row['day28']; 
    $day29 = $row['day29']; 
    $day30 = $row['day30']; 
    $day31 = $row['day31']; 
} 
echo $day1; 

Ici, je reçois les valeurs day1 Janvier à day31. Comment puis-je résoudre ceci? L'insertion dans l'allocation est correctement effectuée.

+0

Est-ce tout votre code? Vous dites que vous voulez mettre à jour les données, mais il n'y a pas d'état de mise à jour. – adear11

+0

1er je veux récupérer les données complètement, Après avoir tout choisi ... il devrait montrer les données pour tout le mois ... comment obtenir cela – user2178637

+0

Il serait préférable de réduire les affectations de variables comme la table elle-même pour améliorer la lisibilité, sur une autre note quelle est l'erreur ou est-ce juste en retournant 1 ligne alors que vous en avez plus d'un dans la table – skv

Répondre

1

en vous requête SQL, vous référenceurs au champ product_id

select * from allocate where product_id = 

qui n'existe pas dans votre schéma. Aussi pour imprimer la ligne de données, vous devriez avoir le echo dans la boucle while qui boucle dans votre rangée de résultats.

Questions connexes