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

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

xadirx 06-11-05 17:09

צריך עזרה במערכת עידכונים
 
התחלתי להכין מערכת עידכונים יש לי בעיה אני רוצה שכל עידכון שהמנהל יוסיף זה יצור טבלה חדשה אבל במקום זה הוא פשוט מוסיף שורה
PHP קוד:

$query = mysql_query("SELECT * FROM panel_news"); 


while("$array = mysql_fetch_array($query)")


$array["up"] = str_replace("<","<",$array["up"]); 
$array["up"] = str_replace(">",">",$array["up"]); 
$array["down"] = str_replace("<","<",$array["down"]); 
$array["down"] = str_replace(">",">",$array["down"]); 
?>
<center>
<table width=60% border=1>
<tr>
<td><b><center>כותרת</b></center></td>
<td><b><cente>תוכן</b></center></td>
</tr>
<tr>
<td>
<?php echo  "<center>".$array["up"]."</center><br />"?>
</td>
<td>
<?php echo "<center>".$array["down"]."</center><br />";  ?>

</td>
</tr>
</table>
</center>
<?php
}
?>

זה פשוט מוסיף שורה במקום להוסיף טבלה תודה לעוזרים!

maor 06-11-05 17:37

לא הבנתי מה אתה רוצה..
הקוד שיש לך פה עושה לולואה שכל עוד יש תוצאות הוא כותב אותם מה הבעיה?

xadirx 06-11-05 19:55

אני רוצה שכל אחד שמוסיף נושא זה יפתח טבלה חדשה זה כל פעם משחל את השורה ומוסיף את מה שכתוב תחת הכותרת ואני רוצה שזה יעשה טבלה חדשה ושוב את הכותרת: כורת, ותוכן ואז לרשום את מה שהוספתי בתגובה עכשיו הבנתה?...

ViPeRt 07-11-05 10:37

ציטוט:

נכתב במקור על ידי xadirx
אני רוצה שכל אחד שמוסיף נושא זה יפתח טבלה חדשה זה כל פעם משחל את השורה ומוסיף את מה שכתוב תחת הכותרת ואני רוצה שזה יעשה טבלה חדשה ושוב את הכותרת: כורת, ותוכן ואז לרשום את מה שהוספתי בתגובה עכשיו הבנתה?...

מה שעשית זה לולואה ואז אחרי זה הדפסת - זה מדפיס לך את טבלה האחרונה..

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

ככה:

PHP קוד:

<?php
$query 
mysql_query("SELECT * FROM panel_news"); 

while(
"$row = mysql_fetch_array($query)"


$up str_replace("<","<",$row["up"]); 
$up str_replace(">",">",$up); 
$down str_replace("<","<",$row["down"]); 
$down str_replace(">",">",$down); 

echo 
"<center> 
<table width=60% border=1> 
<tr> 
<td><b><center>כותרת</b></center></td> 
<td><b><cente>תוכן</b></center></td> 
</tr> 
<tr> 
<td> 
<center>"
.$up."</center><br /> 
</td> 
<td> 
<center>"
.$down."</center><br />

</td> 
</tr> 
</table> 
</center>"
;

?>


astricks 07-11-05 14:04

PHP קוד:

while("$row = mysql_fetch_array($query)"

לשם מה השתמשת במרכאות בתנאי של הלולאה? :o

WebProject 07-11-05 22:02

ערב טוב,

הבנתי את מה שאתה מעוניין לבצע, ואת הבעיה שנובעת מכך, הנה הסבר קטן:

מה שאתה צריך בעקרון לעשות, הוא להכין לולאה, שבתוכה לאחר כל הוספת עדכון, תתווסף טבלה חדשה לגמרי, מה שעשית הוא בעצם הוספת שורה אחת לטבלה, אז הנה הקוד ולאחריו הסבר :)

PHP קוד:

<?Php

$sql 
mysql_query("SELECT * FROM `panel_news`");


while(
$row mysql_fetch_array($sql))  // the loop, look again and see that i deleted the qoute ["]
{

$row['up'] = htmlspecialchars($row['up']);
$row['down'] = htmlspecialchars($row['down']);


    echo 
"
<center>
<table width=\"60%\" border=\"1px\">
<tr>
<td><b><center>כותרת</b></center></td>
<td><b><cente>תוכן</b></center></td>
</tr>
<tr>
<td>
<center>{$row['up']}</center><br />
</td>
<td>

{$row['down']}

</td>
</tr>
</table>
</center>
"
;
}
?>

לפי מה שאתה רואה, כל הקוד נכנס לתוך הפונקצייה echo ובעצם לאחר כל הוספת פריט לטבלה, תתווסף טבלה חדשה, ולא תא.

עוד שינוי גדול - שים לב להחלפת הפונקצייה str_replace לפונקצייה htmlspecialchars הפונקצייה הזאת הינה מחליפה תגי HTML בתג הANSI התקני, בדיוק מה שעשית אבל עם הפונקצייה השנייה, פונקצייה זאת יעילה יותר וחוסכת כמה שורות :)

במידה והבעיה ממשיכה, נא הגב.


שמח לעזור, טל

xadirx 07-11-05 23:06

סבבה אחי עובד
יש לי עוד שאלה שקשורה בנושא הכנתי דף עריכה והכל טוב אבל כשאני עורך זה עורך את כל ההודעות מישהו יודע למה?

בניה 07-11-05 23:23

בס"ד


כי אתה עושה בטח update על כל הטבלה...
עשית לכל עדכון ID?

WebProject 08-11-05 07:13

ציטוט:

נכתב במקור על ידי xadirx
סבבה אחי עובד
יש לי עוד שאלה שקשורה בנושא הכנתי דף עריכה והכל טוב אבל כשאני עורך זה עורך את כל ההודעות מישהו יודע למה?

אני בטוח שעשית שאילתת UPDATE, אבל לא ציינת את מספר הפריט (ID), תנסה את הקוד הבא:

PHP קוד:

<?Php
   $ID 
$_GET['ID']; // Get Method

         
if(!isnumeric($ID)){
                  print 
"מספר הפריט אינו חוקי!";

}
else
{
          
$sql mysql_query("UPDATE `tbl` SET var1 = '$var1' WHERE ID = '$ID'"); // will update only the $ID filed
          
}
?>

מה שעשיתי כאן היא בעצם שאילתה שלוקחת את ה$ID שיצוין בכתובת הדף [?ID=$ID].

עוד דבר אחד, הוא שעשיתי הגנה קטנטנה, אם מספר הID אינו מספר, המערכת תנפיק שגיאה שנכתבה.

מקווה שעזר, טל ;)

xadirx 08-11-05 15:33

תראה זה מה שרשמתי
PHP קוד:

mysql_query("UPDATE `panel_news` SET up='$up' WHERE id=$id"); 
mysql_query("UPDATE `panel_news`  SET down='$down' WHERE id=$id"); 

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


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

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