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

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

matan3838 29-10-09 13:59

בעייה| checkbox ומערכים
 
היי אני מנסה להכין קוד שיש 7 תיבות checkbox וצריך לבחור מתוכם רק 3 ... הקטע שכל checkbox צריך להופיע בתור מספר... גם ככה בשדה של המסד... שדה אחת שיש שם את 3 המספרים עם הפרדה של מקו (-).
בקיצור אני לא מצליח להכין קוד שהוא יבדוק מכל 7 הcheckbox איזה מהם סומן.. ושרק 3 יהיה אפשר לבדוק אם לא הוא יגיד שאי אפשר יותר או פחות.. אבל הקטע שהוא יעשה אחריי הבדיקה מין הוספה אולי למערך כלשהו כי הוא בעצם צריך אחר כך להכניס את 3 המספרים לשדה עם הפרדה.. בעצם כמו:

קוד PHP:
PHP קוד:

num[1]."-".num[2]."-".num[3

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

Shay Ben Moshe 29-10-09 14:35

זה עמוד לעבוד:

PHP קוד:

<?php

$check_boxes 
= array();
for(
$i=1;$i<=7;$i++) {
    if(
$_POST['checkbox_'.$i])
        
$check_boxes[] = $i;
}
if(
count($check_boxes) > 3) {
    echo 
"Too many fields";
}
elseif(
count($check_boxes) < 3) [
    echo 
"Too less fields";
}
else {
    echo 
$check_boxes[0]."-".$check_boxes[1]."-".$check_boxes[2];
}


matan3838 29-10-09 15:33

לא אחי זה לא עובד לא מופיע לי כלום.

Shay Ben Moshe 29-10-09 15:48

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

matan3838 29-10-09 16:13

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

בעצם הפקודה הזו?
$check_boxes[] = $i;
היא מתחילה לספור מ0 למערך חדש? כי אם כן אז זה מחליך את עצמו כל הזמן איך זה בדיוק עובד?

Hanan 29-10-09 22:19

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

PHP קוד:

<?php
switch ($_POST['a']) {
    case 
"check":
        if (
count($arr) != 3) die("You have to choose 3 numbers");
            else {
                
print_r($arr);
                die();
                
// DB INSERT
                
}
        break;

    default:
        
$content .= '<form method="post">';
        
$content .= '<input type="hidden" name="a" value="check" />';
        for (
$i=1$i<=7$i++) $content .= '<input type="checkbox" name="arr[]" value="'.$i.'" /> Number: '.$i.'<br />';
        
$content .= '<input type="submit" value="Submit" />';
        
$content .= '</form>';
        print 
$content;
        break;
    }
?>



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

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