הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   בעיה עם עדכון נתונים (https://hosts.co.il/forums/showthread.php?t=59315)

opsite 24-01-08 23:39

בעיה עם עדכון נתונים
 
אז ככה יש לי את הטופס הבא , שאמור לעדכן לי נתונים שאני משנה ..

PHP קוד:


<?
session_start
();
include 
"db.php";
if(
$id == "1"){
?>

<html dir="rtl">
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1255">
<title>ימי עבודה</title>
</head>
<body>

<?

$id_user 
$_GET[id];

$query2 "SELECT * FROM admins WHERE id = '$id_user'";
$result2 mysql_query($query2)
or die(
"query2");
$r mysql_fetch_array($result2);

$username $r["username"];


echo 
'שם העובד <b>'.$username.'</b>.';


?>




<form method="post">
<table>
<?

  
for ($a=1$a<=7$a++)
  {

if(
$a == 1){
$b str_replace("1","ראשון",$a);
}
if(
$a == 2){
$b str_replace("2","שני",$a);
}
if(
$a == 3){
$b str_replace("3","שלישי",$a);
}
if(
$a == 4){
$b str_replace("4","רביעי",$a);
}
if(
$a == 5){
$b str_replace("5","חמישי",$a);
}
if(
$a == 6){
$b str_replace("6","שישי",$a);
}
if(
$a == 7){
$b str_replace("7","שבת",$a);
}



if(
$_POST[sub]){

$work $_POST["work{$a}"];

if(
$work){
mysql_query("UPDATE worktime SET day{$a} = 'v' WHERE id = '$id_user'") or die(mysql_error());  
}
else{
mysql_query("UPDATE worktime SET day{$a} = '' WHERE id = '$id_user'") or die(mysql_error());  
}

$time $_POST["time{$a}"];

if(
$time == "1"){
mysql_query("UPDATE worktime SET time{$a} = 'm' WHERE id = '$id_user'") or die(mysql_error());  
}
else{
mysql_query("UPDATE worktime SET time{$a} = 'n' WHERE id = '$id_user'") or die(mysql_error());  
}

$msg $_POST["msg{$a}"];

mysql_query("UPDATE worktime SET msg{$a} = '$msg' WHERE id = '$id_user'") or die(mysql_error());  

$ok $_POST["ok"];

if(
$ok){
mysql_query("UPDATE worktime SET ok = 'ok' WHERE id = '$id_user'") or die(mysql_error());  
}
else{
mysql_query("UPDATE worktime SET ok = '' WHERE id = '$id_user'") or die(mysql_error());  
}

}



$query "SELECT * FROM worktime WHERE id = '$id_user'";
$result mysql_query($query)
or die(
"query");
$row mysql_fetch_array($result);

$work_day $row["day{$a}"];

$work_time $row["time{$a}"];

$msg2 $row["msg{$a}"];

$ok2 $row["ok"];

?>


<tr>
<td>
<b> יום <? echo $b?> </b>
</td>
<td>
לא יכול לעבוד
<?
if($work_day == "v"){
echo 
'<input type="checkbox" name="work'.$a.'" checked>';
}
else{
echo 
'<input type="checkbox" name="work'.$a.'">';
}
?>
</td>
<td>
משמרת: 
בוקר
<?
if($work_time == "m"){
echo 
'<input type="radio" name="time'.$a.'" value="1" checked>
ערב
<input type="radio" name="time'
.$a.'" value="2">
'
;
}
else{
echo 
'<input type="radio" name="time'.$a.'" value="1">
ערב
<input type="radio" name="time'
.$a.'" value="2" checked>
'
;



}
?>



</td>
<td>
שעות עבודה: 
<input type="text" name="msg<? echo $a?>" value="<? echo $msg2?>">
</td>
</tr>

<?
}
?>

</table>

<br>
אשר שעות עבודה של עובד זה
<?
if($ok2 == "ok"){
echo 
'<input type="checkbox" name="ok" checked>';
}
else{
echo 
'<input type="checkbox" name="ok">';
}
?>
<br>
<input type="submit" name="sub" value="עדכן שעות עבודה">
</form>


</body>
</html>
<?
}
?>

הוא לא מעדכן את זה ואין לי מושג למה שברתי תראש כמה שעות טובות ואין לא מצליח :-(


מישהו יכול לעזור לי בבקששה ?

ועל הדרך להוציא לי איזה שדות אני אמור לכתוב במסד

כי אני חושש שחסר איזה שדה או משהו ולא יודע בדקתייי הכול ..

תודה לכולם :-)

opsite 24-01-08 23:54

זה לא משנה לי את הכותרת אחי ...

Daniel 24-01-08 23:58

קטע קטע, נתחיל מהיעילות וסידור הקוד.

PHP קוד:

if($a == 1){
$b str_replace("1","ראשון",$a);
}
if(
$a == 2){
$b str_replace("2","שני",$a);
}
if(
$a == 3){
$b str_replace("3","שלישי",$a);
}
if(
$a == 4){
$b str_replace("4","רביעי",$a);
}
if(
$a == 5){
$b str_replace("5","חמישי",$a);
}
if(
$a == 6){
$b str_replace("6","שישי",$a);
}
if(
$a == 7){
$b str_replace("7","שבת",$a);


גם בזבוז של משאבים, ויש דרך הרבה יותר טובה.

PHP קוד:

$days = array("ראשון","שני","שלישי","רביעי","חמישי","שישי","שבת");
if(
intval($a) == $a && $a && $a 8) {
$b $days[$a 1];


יותר מזה לא הצלחתי לראות, שמע, הקוד שלך ממש מבולגן..... אני מציע לך לקרוא טיפה על מחלקות, זה לפי דעתי מאוד יעזור לך.

Tomer 25-01-08 00:23

ציטוט:

נכתב במקור על ידי MasterT (פרסם 603228)
קטע קטע, נתחיל מהיעילות וסידור הקוד.

PHP קוד:

if($a == 1){
$b str_replace("1","ראשון",$a);
}
if(
$a == 2){
$b str_replace("2","שני",$a);
}
if(
$a == 3){
$b str_replace("3","שלישי",$a);
}
if(
$a == 4){
$b str_replace("4","רביעי",$a);
}
if(
$a == 5){
$b str_replace("5","חמישי",$a);
}
if(
$a == 6){
$b str_replace("6","שישי",$a);
}
if(
$a == 7){
$b str_replace("7","שבת",$a);


גם בזבוז של משאבים, ויש דרך הרבה יותר טובה.

PHP קוד:

$days = array("ראשון","שני","שלישי","רביעי","חמישי","שישי","שבת");
if(
intval($a) == $a && $a && $a 8) {
$b $days[$a 1];


יותר מזה לא הצלחתי לראות, שמע, הקוד שלך ממש מבולגן..... אני מציע לך לקרוא טיפה על מחלקות, זה לפי דעתי מאוד יעזור לך.

בשביל קוד כזה מחלקות? אתה רציני?

opsite 25-01-08 08:00

אני בטוח שהבעיה בהכנסה ...

אלףף אחוז כי שאני מוסיף משתמש הוא לא מכניס למסד הכנסה ראשונית ... אם אני מכניס ידנית הוא כן מעדכן


PHP קוד:

        mysql_query("INSERT INTO `worktime` VALUES ('', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '');"); 


opsite 25-01-08 09:46

הסתדרתי ... !


תודה לכםםם היה בעיה באחת הטבלאות .... לנעול .. :)


שבת שלום

בניה 25-01-08 11:13

פעם הבאה תוסיף mysql_error() כדי שתציג את השגיאה שחזרה מהmysql_query


כל הזמנים הם GMT +2. הזמן כעת הוא 18:44.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ