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

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

ASTeam 15-05-07 19:48

[php] יש לי בעיה מוזרה מאוד בעבודה מול SQL | בינארי.
 
ערב טוב אנשים,
בהמשך לעבודתי על מערכת ניהול התוכן שלי הגעתי לשלבים הבאים - נעילת האתר, הוספת בלוקים, קטגוריות.
משום מה יש לי בעיה כאשר אני בא להציג את הבלוקים.
להלן הקוד -
PHP קוד:

    <table>
    <?
    $block_show_query
="SELECT * FROM `blocks` WHERE ORDER BY `block_id`";
$block_result=@mysql_query($block_show_query) or die("<BR><B>ERROR:</B> error occured in mysql query.<BR>");

       
//printing all the rows of the students:
      
while ($block=mysql_fetch_array($block_result))
      {
             echo 
"<tr bgcolor='#fefefe'><td>  ".$block["name"]." </tr></td> " 
             echo 
"<tr><td> ".$block["contex"]." </td><tr>" ;
          }
    
?>


</table>

הבעיה -
ציטוט:

ERROR: error occured in mysql query
בקשר לקטגוריות - אותה בעיה.
אך האם מישהו יכול לכוון אותי כיצד בהצגה של הקטגוריות אוכל לעשות דבר כזה?
קטגוריה מס1
- קישורים המתאימים לקט'
- קישורים המתאימים לקט'
קטגוריה מס2
- קישורים המתאימים לקט'
- קישורים המתאימים לקט'

וכן הלאה..

בקשר לנעילת האתר - האם תוכלו לתת לי כיוון כיצד לעשות במידה ויש 0 אז ככה..ובמידה ויש 1 אז ככה..
ניסתי -
PHP קוד:


if (

mysql_qeury("SELECT * FROM lock WHERE lock=0")
 );
{
?>
האתר נעול
<?
}
else {
echo 
"the rest of the site"

}

ולא עובד עדיין..

תודה, ערב טוב
וסליחה על ששיגעתי אתכם..

Tomer 15-05-07 19:53

or die(mysql_error()) יתן לך את השגיאה שקיימת בשאילתא.

X-T 15-05-07 20:00

בקשר לבעיה הראשונה, תוסיף
PHP קוד:

or die (mysql_error()); 

ותתן לנו פה את השגיאה.

בקשר לקטגוריות, פשוט תעשה לולאה בתוך לולאה
PHP קוד:

while(...){
while(...){
}


שאלה אחרונה שלך, קודם תקרא מהמסד נתונים את הערך שנמצא ב LOCK ואז תבדוק אם הוא שווה ל 0 או 1.
לדוגמא יש לך טבלה של settings ושם יש טבלה שקוראים לה lock אז אתה עושה
PHP קוד:

$query mysql_query("SELECT * FROM settings");
$rr mysql_fetch_array($query);
$lock $rr['lock'];
if(
$lock == 1){
echo 
"The site is close";
}
else{
echo 
"Welcome the israHell";



ASTeam 17-05-07 09:03

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

בקשר לנעילת האתר..
לא עובד לי..
הוא אומר לי -
ציטוט:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\wamp\www\websystemmanger\index.php on line 154
והוא לא עובד נכון..מדוע?
כשאני בקוד אומר לו אם לוק == 0 אחרי השגיאה הוא אומר לי האתר נעול(גם אם במסד רשום 1)
ואם אניעושה אם לוק == 1 הוא נותן לי את השגיאה וממשיך הלאה..
למה זה ככה?

בקשר לקטגוריות -
אבל איך אני יתאים בין כל קט' לדף...
כאילו איך אני יסדר שכל הדפים עם הערך כטגוריה = 1 יופיעו באמת תחתיה?

תודה!!

X-T 17-05-07 21:17

ציטוט:

נכתב במקור על ידי ASTeam (פרסם 478949)
תודה רבה..
סליחה שלא עניתי זמן רב לאשכול..היה לי בעיה במחשב..
בכל מקרה
תודה בקשר לבלוקים..הסתדרתיץץץ

בקשר לנעילת האתר..
לא עובד לי..
הוא אומר לי -

והוא לא עובד נכון..מדוע?
כשאני בקוד אומר לו אם לוק == 0 אחרי השגיאה הוא אומר לי האתר נעול(גם אם במסד רשום 1)
ואם אניעושה אם לוק == 1 הוא נותן לי את השגיאה וממשיך הלאה..
למה זה ככה?

בקשר לקטגוריות -
אבל איך אני יתאים בין כל קט' לדף...
כאילו איך אני יסדר שכל הדפים עם הערך כטגוריה = 1 יופיעו באמת תחתיה?

תודה!!

תעשה 2 טבלאות, אחת של קטגוריות ואחת של הדפים בניפרד ותעשה בלולאה השנייה שזה יציג את כל הדפים שנגיד בטבלה של הדפים ה- BLOCKID שווה ל ID של הקטגוריה.

בקשר לנעילת האתר, מה הקוד שרשמת?

ASTeam 18-05-07 13:57

ציטוט:

נכתב במקור על ידי X-T (פרסם 479434)
תעשה 2 טבלאות, אחת של קטגוריות ואחת של הדפים בניפרד ותעשה בלולאה השנייה שזה יציג את כל הדפים שנגיד בטבלה של הדפים ה- BLOCKID שווה ל ID של הקטגוריה.

בקשר לנעילת האתר, מה הקוד שרשמת?

נעילת האתר-
PHP קוד:

$query mysql_query("SELECT * FROM lock"); 
$rr mysql_fetch_array($query); 
$lock $rr['lock']; 
if(
$lock == 1){ 
echo 
"The site is close"

else{ 

^^ מה שהבאת..

בקשר לקט'
עשיתי את זה -

PHP קוד:

    $cats_query="SELECT * FROM `cats` ORDER BY `cat_id`";
$cats_result=@mysql_query($cats_query) or die("<BR><B>ERROR:</B> error occured in mysql query.<BR>"); 

      while (
$ShowCats=mysql_fetch_array($cats_result)) 
      {


$cat_id=$ShowCats[" cat_id"] ;

echo  
$ShowCats["CatName"] ;
echo 
"</tr></td><tr><td>";

    
$links_query="SELECT * FROM `pages` ORDER BY `PageName` WHERE `cat_id`='$cat_id' ";
$link_result=@mysql_query($links_query) or die(mysql_error()); 

      while (
$ShowLinks=mysql_fetch_array($link_result)) 
      {
 echo 
"  <a href='index.php?page_id=".$ShowLinks["page_id"]."'> > ".$ShowLinks["PageName"]."</a> ";
         echo 
" <br> ";
          }} 

הוא אומר לי ביחס לשורה -
PHP קוד:

SELECT FROM `pagesORDER BY `PageNameWHERE `cat_id`='$cat_id' 

ציטוט:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE `cat_id`=''' at line 1
תודה!

חיים 18-05-07 14:05

בקשר לנעילת האתר תעשה כמו שעשית אבל תעשה דבר פשוט מאוד ככה:
PHP קוד:

$query mysql_query("SELECT * FROM lock");  
$rr mysql_fetch_array($query);  
$lock $rr['lock'];  
if(
$lock==1)
    die(
"site closed"); 


opsite 18-05-07 14:14

בטוח שעדכנת ש lock = 1

? אתה צריך לעשות כפתור שיעדכן

שיסמנו פתיחה ה יעדכן ל 0 אם יעשו סגירה זה יעדכן ל 1 זה פשוט לא אמורה להיות בעיה בכלל

ASTeam 18-05-07 14:52

כן אני בטוח שעשיתי
חיים מה ההבדל?
בכל מקרה לא עובד..

opsite 18-05-07 15:10

תציג בידיוק תקוד שעשית ..

ASTeam 18-05-07 15:26

הבאתי כבר -

PHP קוד:

$query mysql_query("SELECT * FROM lock");  
$rr mysql_fetch_array($query);  
$lock $rr['lock'];  
if(
$lock == 1){  
echo 
"The site is close";  
}  
else{  
//rest of the code


(בקשר לנעילה נכון?)
מה בקשר לקט'?

חיים 18-05-07 15:45

ציטוט:

נכתב במקור על ידי ASTeam (פרסם 479851)
כן אני בטוח שעשיתי
חיים מה ההבדל?
בכל מקרה לא עובד..

ההבדל הוא שאני עשיתי עם die והקוד הקודם שלך היה עם echo זאת אומרת שזה לא יציג שום דבר חוץ מהמשפט שיש בתוך הסוגריים של פונקציית ה-die אבל כשאתה עושה echo אתה צריך גם לעשות else ועוד להשתגע עם זה וכמו שאני אמרתי לך זה פשוט עושה בהתחלה בדיקה אם זה ככה זה מפסיק את כל העלייה של העמוד ופשוט מציג לך את ההודעה ואם לא אז זה ממשיך כרגיל...
בקשר לבעיה הראשונה שלך עשית שם WHERE OREDR BY זה לא נראה לי הגיוני תנסה למחוק את ה-WHERE
ובקשר לקטגוריות תנסה פשוט להכין לולאה של הקטגורייה ואז לחשוב על זה לבד למשל תעשה שתי טבלאות במסד אחת של קטגוריות ואחת של תת קטגוריות ואז פשוט תעשה קשר ע"י או ה-ID או כל דבר אחר ואז שפוט בלולאה תוציא את המידע של התת קטגוריות וזהוא

ASTeam 18-05-07 16:03

אבל הנעילהעדייןן לא עבדה...נתן אותה שגיאה..
בקשר לבלוקים אני יודע ראיתי את זה
בקשר לקט'
עשיתי שני טבלאות אחד קטגוריות ואחת דפים
בדפים יש cat_id וזה מקשר לID של הקט'
אבל כשעשיתי את זה הוא נתן לי שגיאה..לא הבנתי מה הוא רצה..

חיים 18-05-07 16:26

ציטוט:

נכתב במקור על ידי ASTeam (פרסם 479913)
אבל הנעילהעדייןן לא עבדה...נתן אותה שגיאה..
בקשר לבלוקים אני יודע ראיתי את זה
בקשר לקט'
עשיתי שני טבלאות אחד קטגוריות ואחת דפים
בדפים יש cat_id וזה מקשר לID של הקט'
אבל כשעשיתי את זה הוא נתן לי שגיאה..לא הבנתי מה הוא רצה..

תראה את השגיעות...

ASTeam 18-05-07 16:42

נעילה
ציטוט:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\wamp\www\websystemmanger\index.php on line 168
קט'
ציטוט:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE `cat_id`=' at line 1

חיים 18-05-07 18:06

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


קט'
תראה את השורה 1

LosNir 18-05-07 19:02

קטגוריה:

קוד:

SELECT * FROM cats ORDER BY cat_id DESC
באמת, תנסה ללמוד Syntax של MySql כמו שצריך לפני שאתה מתחיל לפתח ומוכר מערכות.

ASTeam 19-05-07 20:13

קטגוריה -
זו השאילתה המדוברת -
PHP קוד:

SELECT FROM `pagesORDER BY `PageNameWHERE `cat_id`='$cat_id' 

נעילת האתר-
שורה 168-169
PHP קוד:

$query mysql_query("SELECT * FROM lock");  
$rr mysql_fetch_array($query); 

תודה רבה!

לוסניר -
מה הקשר?
זה מסדר את הcat_id מהאחרון לראשון..
זה בכלל לא היה השאילתה המדוברת...עם זה אין כלל בעיה(כי הוא מדפיס את שם הקט' בל לא את הלינקים המקושרים..)
ואני עדיין לא מוכר מערכות...אני בונה כדי ללמוד לא כדי למכור..

LosNir 19-05-07 20:27

קוד:

SELECT * FROM pages ORDER BY PageName WHERE cat_id='$cat_id'

ASTeam 19-05-07 21:41

לא....זה רק להוריד את ה " ` "
ניסיתי ולא עובד..

LosNir 19-05-07 21:45

ציטוט:

נכתב במקור על ידי ASTeam (פרסם 480880)
לא....זה רק להוריד את ה " ` "
ניסיתי ולא עובד..

מהי הבעיה?

חיים 19-05-07 21:45

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

$query mysql_query("SELECT * FROM lock") or die("error in sql query: ".mysql_error());   
$rr mysql_fetch_array($query); 


ASTeam 19-05-07 21:51

תודה רבה!.
ע"פ השגיאה שהוא נתן לי הבנתי..
היה חסר לי את ה - " ` " בשם הטבלה lock
הנעילה הסתדרה...
מה בקשר לקט'?

ניר הבעיה אותו דבר -

ציטוט:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE cat_id=''' at line 1

חיים 19-05-07 22:03

תבדוק עוד פעם טוב טוב את המסד שלך אם יש לך את הטבלה pages ואת השדות pagename ו-cat_id בידיוק כמו שקטבת עם אותיות קטנות בהתחלה ותבדוק מה הערך של המשתנה $cat_id וכ"ו...

LosNir 19-05-07 22:40

לפי מה שהבנתי הערך של המשתנה $cat_id ריק.

חיים 20-05-07 07:32

אני חושב שאני יודע מה זה כנראה השדה cat_id בטבלה שלך הוא לא יכול להכיל ערך ריק(NOT NULL) וכשאתה מנסה להכניס ערך ריק אז הוא נותן שגיעה...

ASTeam 20-05-07 12:03

אכן הערך הינו not null אך כל השדות מלאים...
שמות השדות שווים...
עדיין -
ציטוט:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE `cat_id`='$ShowCats["cat_id"]'' at line 1

בניה 20-05-07 12:20

PHP קוד:

$sqlstr "SELECT * FROM pages WHERE cat_id='".$ShowCats["cat_id"]."' ORDER BY PageName";
$query mysql_query($sqlstr) or die($sqlstr." error in sql query: ".mysql_error()); 


ASTeam 20-05-07 12:57

תודה רבה בניה!!
עזרת לי..
נפתר!
תודה בניה ותודה לכל מי שניסה לעזור.
ניתן לנעול.

Tomer 20-05-07 13:08

ננעל


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

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