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

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

AlonElk 07-03-13 16:46

עזרה | PHP
 
קודם נתחיל מהקוד שלי:
קוד:

<?php
                                $query = mysql_query("SELECT * FROM `apps` ORDER BY `id` ASC LIMIT 8") or die(mysql_error());
                                while ($output = mysql_fetch_array($query))
                                        { ?>
                        <?php
                                if (isset($_POST['submit']))
                                        {
                                                $name1 = $_POST['name1'];
                                                $pic1 = $_POST['pic1'];
                                                $line1 = $_POST['link1'];
                                                $name2 = $_POST['name2'];
                                                $pic2 = $_POST['pic2'];
                                                $line2 = $_POST['link2'];
                                                if (empty($name1)) {
                                                        echo '<script>alert("אנא מלא את כל הטופס !");</script>';
                                                } else {
                                                $query = mysql_query("UPDATE  `apps` SET `name` = '".$name1."',`pic` = '".$pic1."',`link` = '".$link1."',`name` = '".$name2."',`pic` = '".$pic2."',`link` = '".$link2."' WHERE `id` = '1',`id` = '2' ") or die (mysql_error()); 
                                                echo '<script>alert("הפוטר נערך בהצלחה! אתה מועבר לעמוד הראשי");</script>';
                                        } }
                        ?>
                        <form method="POST" action="">
                        <?php
                                        echo ' '.$output['id'].'. שם : <input style="height:30px; width:250px; border:1px solid #000;" value="'.$output['name'].' " name="name'.$output['id'].'" />
                                        תמונה : <input style="height:30px; width:250px; border:1px solid #000;" value="'.$output['pic'].'" name="pic'.$output['id'].'" />
                                        לינק : <input style="height:30px; width:250px; border:1px solid #000;" value="'.$output['link'].'" name="link'.$output['id'].'" /> <br/><br/>
                                        '; }

                        ?>
                        <input type="submit" name="submit" value="עדכן" style="border:1px solid #000;" />
                        </form>

עכשיו הבעיה:
יש לי במסד 8 שורות שכל אחת מהן כוללת שם, תמונה ולינק.
יש לי באתר מקום לערוך אותם, אז אוקיי, אני הוצאתי אותם מהמסד וחילקתי למקומות הנכונים עכשיו אני לא ממש מבין איך אני מצליח לערוך אותם בצורה נוחה..
כמו שאתם רואים ניסתי לחשוב על דרך אבל היא לא עובדת לי..
אשמח לקבל עזרה (מי שהבין את ההסבר הלא ברור הזה ישתבח שמו :P)

AlonElk 08-03-13 09:25

הקפצה..

אדיר 08-03-13 11:38

אם אתה רוצה להשאיר את זה כמה שיותר דומה למה שיש עכשיו אני אתאר לך את ה- flow הרצוי -
אתה קודם כל צריך להוציא את הזיהוי של ה- submit מהלולאה ולבצע את פעולת העדכון לפני השליפה,
אחרי זה אתה באמת מפריד כל שורה ל- form נפרד כמו שעשית ושולח את ה- ID של השורה בשדה hidden,
כששולחים את הטופס אתה מעדכן את השורה בהתאם לקלט שהמשתמש הזין ויודע איזו שורה זאת באמצעות ה- id שנשלח,
ולסיכום כמובן שאין שום שורה שיכולה להתאים לתנאי שהצבת (id = 1, id = 2) ואני לא מבין איך אתה מתכוון לעדכן ככה מידע בצורה דינאמית, אז לדעתי כדאי גם שתעבור שוב על מה שלמדת ב- SQL.

בהצלחה

AlonElk 08-03-13 20:08

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

Haimz 09-03-13 16:30

תציג טבלה עם כל הרשומות (תחלק לעמודים) תוסיף עמודה שנקראת "עריכה" (בטבלה בDOM ולא במסד) ושם תקשר לעמוד שיערוך את השורה הספציפית.


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

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