מסדי נתונים
-
@קו-מהיר
לדעתי האישית שלי הפורום הזה כלל לא מיועד להסבר על מסדי נתונים ופיתוחים כאלה או אחרים
קטגוריה זאת מיועדת להסברים על התממשקות עם php למערכות של ימות המשיח
הסבר כללי על מסדי נתונים ועל php בכללי תוכל לקבל ברשת אני אישית למדתי ב :
https://www.w3schools.com/Php/
שוב אני לא המנהל של הפורום אמרתי את דעתי האישית -
@אהרן-שובקס
פשוט ראיתי את הקוד הזה:<?php //מוריד הודעות שגיאה error_reporting(0); $phone = $_GET["ApiPhone"]; $extension = $_GET["ApiExtension"]; $a = $_GET["a"]; $item = $_GET["item"]; $del =$_GET["del"]; $Select_or_Continue=$_GET["Select_or_Continue"]; $Order_quantity=$_GET["Order_quantity"]; //התחברות למסד נתונים $servername = "localhost"; $username = "********"; $password = "*****; $dbname = "*********"; // צור חיבור $conn = new mysqli($servername, $username, $password, $dbname); // הודעת כשלון if ($conn->connect_error) { die("id_list_message=t-שגיאה בהתחברות: " . $conn->connect_error); } // מקבל את התאריך כרגע $currentDateTime = date('Y-m-d H:i:s'); //echo "id_list_message=t- מספר הטלפון שנקלט הוא: $phone : <b>"; //מחפש מספר לקוח בספר טלפונים $sql_mer_id = ("SELECT customer_id FROM phonebook WHERE phone_number=$phone"); $result_mer_id = $conn->query($sql_mer_id); if ($result_mer_id->num_rows > 0) { // output data of each row while($row_mer_id = $result_mer_id->fetch_assoc()) { // echo "מספר טלפון $phone :"; $customerNomber = $row_mer_id["customer_id"]; //"קיבל את הנתון למשתנה // echo "id_list_message=t- $message1: $customerNomber : <b>";//מספר הלקוח שלך הוא // עם מספר לקוח יחפש בהמשך בטבלת הזמנות כמה הוא הזמין ממוצר זה } } //מחפש שם לקוח בטבלת לקוחות $sql_people = ("SELECT name,language FROM people WHERE id=$customerNomber"); $result_people = $conn->query($sql_people); if ($result_people->num_rows > 0) { // output data of each row while($row_people = $result_people->fetch_assoc()) { $customerNane = $row_people["name"]; $group_name = $row_people["group_name"]; $language=$row_people["language"]; //"קיבל את שם הלקוח //echo "id_list_message=t- השם שלך הוא: $customerNane&go_to_folder=/4/1/2&"; } } //========================================רשימת הודעות============================================================== //רשימת הודעות באאנגלית if($language="en"){ $message1="מספר הלקוח שלך הוא"; $message2="הגעתם לסוף הרשימה"; $message3="המחיר הוא"; $message4="שקלים"; $message5="הזמנתם"; $message6="יחידות"; $message7="להזמנה הקישו אחת, להמשך שתים, לפריט הקודם: הקישו שלוש, לשמיעת סיכום ההזמנה ואחר כך לעבור לפריט הבא: הקישו ארבע, לשמיעה של הפריטים שהִזְמַנתֶם הקישו חמש, לתשלום, תשע, לתפריט ראשי, אפס, ולסיום, ניתן לנתק את השיחה"; $message8="לעדכון ההזמנה, הקישו אחת, להמשך שתים, לפריט הקודם: הקישו שלוש, לשמיעת סיכום ההזמנה ואחר כך לעבור לפריט הבא: הקישו ארבע, לשמיעה של כל הפריטים שהִזְמַנתֶם הקישו חמש, לתשלום, תשע, לתפריט ראשי: אפס, ולסיום ניתן לנתק את השיחה"; $message9="נא להקיש כמות, ואחר כך להקיש סולמית"; $message10=" ההזמנה של"; $message11=" יחידות, נרשמה בהצלחה"; $message12="ההזמנה של פריט זה נמחקה"; $message13="עדכון ההזמנה אל"; $message14="יחידות, נרשמה בהצלחה!"; $message15=" הגעתם לסוף הרשימה"; $message16="אין שורה קודמת"; $message17="סכום כל ההזמנה עד כה הוא"; $message18="שקל, עד כאן פירוט ההזמנות"; $message19="לא נמצאו רשומות"; $message20="להלן ההזמנה שרשומה במערכת"; $message21=" הזמנתם"; $message22=" יחידות של"; $message23="מחיר ליחידה"; $message24="שקל, סך הכל"; $message25=" שקל"; $message26="סכום כל ההזמנה עד כה הוא"; $message27="שקל, עד כאן פירוט ההזמנות"; $message28="לא נמצאו רשומות"; $message29="אנחנו חוזרים למכירה"; $message30=""; }else{ // רשימת הודעות בעברית $message1="מספר הלקוח שלך הוא"; $message2="הגעתם לסוף הרשימה"; $message3="המחיר הוא"; $message4="שקלים"; $message5="הזמנתם"; $message6="יחידות"; $message7="להזמנה הקישו אחת, להמשך שתים, לפריט הקודם: הקישו שלוש, לשמיעת סיכום ההזמנה ואחר כך לעבור לפריט הבא: הקישו ארבע, לשמיעה של הפריטים שהִזְמַנתֶם הקישו חמש, לתשלום, תשע, לתפריט ראשי, אפס ולסיום, ניתן לנתק את השיחה"; $message8="לעדכון ההזמנה, הקישו אחת, להמשך שתים, לפריט הקודם: הקישו שלוש, לשמיעת סיכום ההזמנה ואחר כך לעבור לפריט הבא: הקישו ארבע, לשמיעה של כל הפריטים שהִזְמַנתֶם הקישו חמש, לתשלום, תשע, לתפריט ראשי, אפס, ולסיום ניתן לנתק את השיחה"; $message9="נא להקיש כמות, ואחר כך להקיש סולמית"; $message10=" ההזמנה של"; $message11=" יחידות, נרשמה בהצלחה"; $message12="ההזמנה של פריט זה נמחקה"; $message13="עדכון ההזמנה אל"; $message14="יחידות, נרשמה בהצלחה!"; $message15=" הגעתם לסוף הרשימה"; $message16="אין שורה קודמת"; $message17="סכום כל ההזמנה עד כה הוא"; $message18="שקל, עד כאן פירוט ההזמנות"; $message19="לא נמצאו רשומות"; $message20="להלן ההזמנה שרשומה במערכת"; $message21=" הזמנתם"; $message22=" יחידות של"; $message23="מחיר ליחידה"; $message24="שקל, סך הכל"; $message25=" שקל"; $message26="סכום כל ההזמנה עד כה הוא"; $message27="שקל, עד כאן פירוט ההזמנות"; $message28="לא נמצאו רשומות"; $message29="אנחנו חוזרים למכירה"; $message30=""; }//======================================================עכ רשימת הודעות===================================== //מספר של מכירה //שם הפרוייקט הפעיל כרגע $sql_Project = ("SELECT id FROM Projects WHERE Situation=1"); //המספר 1 מסמן מכירה פעילה ו0 מסמןמכירה סגורה $result_Project = $conn->query($sql_Project); if ($result_Project->num_rows > 0) { // output data of each row while($row_Project = $result_Project->fetch_assoc()) { $Project_id_nomber = $row_Project["id"]; //מספר פרוייקט פעיל //"קיבל מספר סריאלי של פרוייקט הפעיל } } //----------------------------------------------------ע"כ מספר מכירה נוכחית---------------------------------------- // הגדרות של פריט בתנאי שמספר הפרוייקט רשום 1 כלומר פעיל בטבלת פרוייקטים $sql = ("SELECT * FROM items WHERE serial_name=$item AND Project=$Project_id_nomber"); $result = $conn->query($sql); if ($result->num_rows > 0) { while($row = $result->fetch_assoc()) { $name_of_item = $row["name_of_item"]; //שם פריט $text_for_reading1 = $row["text_for_reading"]; // טקסט לקריאה $price_per_unit = $row["price_per_unit"]; //מחיר if($language="en"){$text_for_reading = $row["text_for_reading_en"];} // טקסט לקריאה באנגלית } } //================================================================================================================ //נתיב של מוצר קודם או מוצר הבא $sql_order = "SELECT serial_name FROM items WHERE Project=$Project_id_nomber ORDER BY serial_name"; $result_order = $conn->query($sql_order); if ($result_order->num_rows > 0) { while($row = $result_order->fetch_assoc()) { $order1 = $order; //שורה קודמת מספר סריאלי $order = $row ['serial_name']; if ($order==$item){ //echo "order1=$order1|||order=$order"; break;} }} //לוקח מטבלת תיאום את הנתיב לשלוחה קודמת $sql_order = "SELECT to_path FROM path_in_Yemot WHERE serial_name=$order1"; $result_path = $conn->query($sql_order); if ($result_path->num_rows > 0) { while($row = $result_path->fetch_assoc()) { $previous_item = $row ['to_path']; } } // echo "הנתיב לפריט הקודם: $previous_item";//}}else{echo "id_list_message=t-שגיאה: אין מספר פריט מול נתיב בטבלת path_in_Yemot";} //==================================================================================================================================== //מוצר הבא $order="0"; $sql_order = "SELECT serial_name FROM items WHERE Project=$Project_id_nomber ORDER BY serial_name DESC"; $result_order = $conn->query($sql_order); if ($result_order->num_rows > 0) { while($row = $result_order->fetch_assoc()) { //הפריט הכי גבוה במספור $order1 = $order; //שורה קודמת מספר סריאלי $order = $row ['serial_name']; if ($order===$item){ $order=$order1; break;} } } //לוקח מטבלת תיאום את הנתיב לשלוחה הבאה $sql_order = "SELECT to_path FROM path_in_Yemot WHERE serial_name=$order"; $result_path = $conn->query($sql_order); if ($result_path->num_rows > 0) { while($row = $result_path->fetch_assoc()) { $next_item = $row ['to_path']; //echo "<br>פריט הבא: $next_item"; } if ($order1==0 AND $order===$item){ //ה," //אם גומר את כל הסיבובים עד הסוף, סימן שאין פריטים אחרי ז //הגעתם לסוף הרשימה $next_item =NULL; }//else{$next_item=$next_item1;} } //נתיב תפריט ראשי ושלוחת תשלום //לוקח מטבלת תיאום את כתובת התפריט הראשי $sql_order = "SELECT * FROM path_in_Yemot"; // WHERE serial_name='Main Menu'"; $result_path = $conn->query($sql_order); if ($result_path->num_rows > 0) { while($row = $result_path->fetch_assoc()) { $serial_name =$row ['serial_name']; if($serial_name==="Main Menu"){$Main_Menu_path = $row ['to_path'];} if($serial_name==="Payment"){$Payment_path = $row ['to_path'];} } } //=============================================================================================== // האם הלקוח הזמין כבר ממוצר זה $sqlTab = "SELECT * FROM orders WHERE customer_id=$customerNomber AND item_id=$item"; //AND City='Berlin'; if($result = mysqli_query($conn, $sqlTab)){ if(mysqli_num_rows($result) > 0){ while($row = $result->fetch_assoc()) { $old_order = $row["number_of_items"]; //"בדיקת קבלת נתון למשתנ } }else{$old_order="XXX";} } //=======================================עד כאן אספנו נתונים מהטבלאות, עכשיו מתחיל לטפל בקליינט // כמות הזמנה if ($Order_quantity == NULL){ //להזמין או להמשיך if ($Select_or_Continue ==="0"){goto main_path;} if ($Select_or_Continue == 0) { a: //מכין הודעות $Item_name_message = " $text_for_reading1 $message3 $price_per_unit $message4:"; $old_order_message = " $message5 $old_order $message6, "; // עד כאן הכין 2 הודעות, עכשיו משדר אותם בצירוף המלל הקבוע למתקשר if ($old_order == 0) { echo "read=t-$note $Item_name_message $message7 =Select_or_Continue,No,1,1,5,No,yes,No,*/,1234590"; }else{ echo "read=t-$note $Item_name_message $old_order_message $message8 =Select_or_Continue,No,1,1,5,No,yes,No,*/,1234590";} } else { ////....אם השם לא מופיע במאגר לקוחות. // המצב הזה לא אמור להיות בגלל הרישום בשלב הקודם, ולכן הוא לא מטופל כאן } } else { //אם הקו טלפון עוד לא הגיע לשלב של הזמנה... אבל אם כן, יטופל להלן } // אם המתקשר בחר 1 להזמנה או 2 או 3 וכולי כאן מגיע הקוד בעניין הזה //אם המתקשר הקיש 1 להזמנת מוצר if ($Select_or_Continue ==1 and $Order_quantity == NULL){ echo "read=t-$message9=Order_quantity,No,2,1,5,No,yes,No,*/"; } //אם כמות הזמנה לא שווה משהו מאפס ומעלה אז צריך לעשות הזמנה else{ if ($Select_or_Continue ==1 and $Order_quantity >-1){ $sum_is= $Order_quantity*$price_per_unit; // סך לתשלום //========================================================================================================================================== if ($old_order == "XXX") { //אם לא הייתה הזמנה לפני כן צריך לפתוח שורה חדשה, ואם היה הזמנה יעדכן בשורה הקודמת $sql_save_item = "INSERT INTO orders ( _date,customer_id,customer_name,item_id,item_name,text_for_reading,number_of_items,price_per_unit,sum) VALUES ('$currentDateTime','$customerNomber','$customerNane','$item','$name_of_item','$text_for_reading1','$Order_quantity','$price_per_unit','$sum_is')"; //משום מה לא עובד בלי בדיקת מצב if ($conn->query($sql_save_item) === TRUE) { //הזמנה של כך וכך יחידות נרשמה בהצלחה if($next_item===NULL){$note_1="$message10 :$Order_quantity $message11 !";}else{echo "id_list_message=t- $message10 :$Order_quantity $message11!&";} // echo "&go_to_folder=$next_item"; } else { echo "id_list_message=t-Error: " . $sql_save_item . "<br>" . $conn->error; } }else{ if ($Order_quantity=="0" OR $Order_quantity<1){ $sql_save_item = "DELETE FROM orders WHERE customer_id=$customerNomber AND item_id=$item"; if ($conn->query($sql_save_item) === TRUE) {} if($next_item===NULL){$note_1="$message12 !";}else{echo "id_list_message=t-$message12 !&";} //ההזמנה של פריט זה נמחקה בהצלחה // echo "&go_to_folder=$next_item"; }else{ $sql_save_item = "UPDATE orders SET _date='$currentDateTime', number_of_items='$Order_quantity', sum='$sum_is' WHERE customer_id=$customerNomber AND item_id=$item"; //משום מה לא עובד בלי בדיקת מצב if ($conn->query($sql_save_item) === TRUE) { if($next_item===NULL){$note_1="$message13 :$Order_quantity $message14";}else{echo "id_list_message=t-$message13 :$Order_quantity $message14 !&";} //עדכון הזמנה אל ... יחידות נרשמה בהצלחה // echo "&go_to_folder=$next_item"; } else { echo "id_list_message=t-Error: " . $sql_save_item . "<br>" . $conn->error; } } } //============================================ עד כאן עדכון ההזמנה בטבלת הזמנות======================================================================== if($next_item===NULL){$note="$note_1 $message15 ";$Select_or_Continue=NULL; goto a;} //הגעתם לסוף הרשימה else{ echo "go_to_folder=$next_item"; } //סיכום $result = $conn->query("SELECT number_of_items,sum FROM orders WHERE item_id=$item"); $row = $result->fetch_assoc(); $Total_order_quantity = htmlentities($row['number_of_items']); //echo "סך הכל הוזמנו $Total_order_quantity יחידות"; // מעדכן הזמנה בטבלה של פריטים $sql_save_item = "UPDATE items SET count_orders='$Total_order_quantity' WHERE serial_name='$item'"; //משום מה לא עובד בלי בדיקת מצב if ($conn->query($sql_save_item) === TRUE) { // echo "id_list_message=t- תוספת נרשמה בטבלת הפריטים הראשית"; } // מעדכן סכום לתשלום בטבלה של לקוח $result = $conn->query("SELECT number_of_items,sum FROM orders WHERE item_id=$item AND customer_id=$customerNomber"); $row = $result->fetch_assoc(); $Total_order_quantity = htmlentities($row['sum']); //echo "סך לתשלום $Total_order_quantity"; //=============================================עדכון חוב בטבלת לקוח=========================================== $sql_save_item = "UPDATE people SET debt='$Total_order_quantity' WHERE id='$customerNomber'"; if ($conn->query($sql_save_item) === TRUE) { // echo "id_list_message=t- תוספת נרשמה בטבלת לקוח"; } } } //----------------------------------------------------------------------------------------------------------------------------------------------------- //אם המתקשר הקיש 2 למוצר הבא if ($Select_or_Continue ==2 and $Order_quantity == 0){ if($next_item===NULL){$note="$message15 ,";$Select_or_Continue=NULL; goto a; }else{ echo "go_to_folder=$next_item"; }} //--------------------------------------------------------------------------------------------------------------------------------- //אם המתקשר הקיש 3 למוצר קודם if ($Select_or_Continue ==3 and $Order_quantity == 0){ if($previous_item===NULL){$note="$message16 ,";$Select_or_Continue=NULL; goto a;} else{ echo "go_to_folder=$previous_item"; }} //--------------------------------------------------------------------------------------------------------------------------------- //אם המתקשר הקיש 4 לשמיעת סיכום ההזמנה ואז להמשיך if ($Select_or_Continue ==4 and $Order_quantity == 0){ //סיכום לתשלום $sqlTab = "SELECT number_of_items,sum FROM orders WHERE customer_id=$customerNomber"; if($result = mysqli_query($conn, $sqlTab)){ if(mysqli_num_rows($result) > 0){ while($row = $result->fetch_assoc()) { $Total_order_quantity = $Total_order_quantity + $row["sum"]; } if ($Total_order_quantity>0){ //סכום כל ההזמנה עד כה הוא....שקל, עד כאן פירוט ההזמנות if($next_item===NULL){$note= "$message17: $Total_order_quantity $message18,";$Select_or_Continue=NULL; goto a; }else{ echo "id_list_message=t- $message17: $Total_order_quantity $message18,&go_to_folder=$next_item";} }else{ if($next_item===NULL){ $note= "$message19 "; //לא נמצאו רשומות $Select_or_Continue=NULL; goto a; }else{ echo "id_list_message=t-$message19&go_to_folder=$next_item"; } } } } } //אם המתקשר הקיש 5 יביא את רשימת ההזמנה שלו if ($Select_or_Continue ==5 and $Order_quantity == 0){ $sqlsort = "SELECT text_for_reading , price_per_unit, sum FROM orders WHERE customer_id=$customerNomber"; $result = $conn->query($sqlsort); $Total_order_quantity = htmlentities($row['sum']); // סך הכל לתשלום if ($result->num_rows > 0) { // output data of each row if($next_item==NULL){$note="$message20,<br>";} //להלן ההשמנות שנרשמו במערכת else{echo "id_list_message=t-$message20,<br>";} //להלן ההזמנות שנרשנו במערכת while($row = $result->fetch_assoc()) {//הזמנתם... יחידות של...מחיר ליחידה...שקל, סך הכל...שקל if($next_item===NULL){$note="$note $message21: " . $row['number_of_items']. "$message22 " . $row['text_for_reading']. " $message23: " . $row['price_per_unit']. " $message24 : " . $row["sum"]. "$message25 <br>"; }else{echo "$message21: " . $row['number_of_items']. " $message22 ". $row['text_for_reading']. " $message23: " . $row['price_per_unit']. " $message24: " . $row["sum"]. " $message25 <br>";} } //סיכום לתשלום $sqlTab = "SELECT number_of_items,sum FROM orders WHERE customer_id=$customerNomber"; if($result = mysqli_query($conn, $sqlTab)){ if(mysqli_num_rows($result) > 0){ while($row = $result->fetch_assoc()) { $Total_order_quantity = $Total_order_quantity + $row["sum"]; } if ($Total_order_quantity>0){ if($next_item===NULL){$note="$note <br> $message26 : $Total_order_quantity $message27 ,"; //סכום כל ההזמנה עד כה הוא ...שקל, עד כאן פירוט ההזמנה }else{echo "<br> $message26: $Total_order_quantity $message27,";} }else{ if($next_item===NULL){$note="$note id_list_message=t-$message28 ";}else{echo "id_list_message=t-$message28&go_to_folder=$next_item";} } } } } if($next_item===NULL){$note="$note $message29: "; $Select_or_Continue=NULL; goto a;} } //------------------------------------------------------------------------------------ //אם המתקשר הקיש 9 לתשלום if ($Select_or_Continue ==9 and $Order_quantity == 0){ echo "go_to_folder=$Payment_path"; } //------------------------------------------------------------------------------------ //אם המתקשר הקיש 0 לתפריט ראשי main_path: if ($Select_or_Continue ==="0" and $Order_quantity == 0){ echo "go_to_folder=$Main_Menu_path"; } $conn->close(); ?>
בפורום הישן ורציתי לדעת איך מפעילים אותו
-
@קו-מהיר
מה אתה רוצה לעשות? -
@אהרן-שובקס
להעביד את זה -
-
-
@שמואל
זה קשור למסד נתונים שלהם. -
-
תראו בסה"כ אני צריך לדעת איפה כותבים כל פריט בהתחברות:
$servername = "localhost"; $username = "********"; $password = "*****"; $dbname = "*********";
כלומר מה זה זה:
$servername = "localhost";
וזה:
$username = "********";
וזה:
$password = "*****";
וזה:
$dbname = "*********";
בנתים אני יודע רק את זה:
$password = "*****";
-
@קו-מהיר אמר במסדי נתונים:
תראו בסה"כ אני צריך לדעת איפה כותבים כל פריט בהתחברות:
$servername = "localhost"; $username = "********"; $password = "*****"; $dbname = "*********";
כלומר מה זה זה:
$servername = "localhost";
וזה:
$username = "********";
וזה:
$password = "*****";
וזה:
$dbname = "*********";
בנתים אני יודע רק את זה:
$password = "*****";
כתובת המסד
שם משתמש
סיסמה
שם המסד נתונים
סיסמהזה הפרטים הנצרכים
-
@mgm-ivr
לא הבנתי למה אתה מתכוון זה מה שכתוב לי בשרת:
או באנגלית:
-
@mgm-ivr
הבנתי את כל הדברים חוץ מזה:$dbname = "*********";
-
@mgm-ivr
ניסיתי לכתוב כך:$servername = "localhost"; $username = "DB User"; //פה רשמתי את $password= "password"; //ופה את $dbname = "DB Name"; //ופה את