Czy moglibyście mi poradzić jak można wykonać taki skrypt sprawdzający. Na początku pobieram z bazy losowe rekordy i tworze z nich obraz - kolor (teraz aby bylo szybciej tylko kolor - w przyszłości będzie to zmienione na tworzenie obrazków itp ale to nie ważne):
1. Pobieram color_hex i color_name z bazy,
2. Wstawiam color_hex jako tło komórki,
3. Wstawiam color_hex i color_name do ukrytego input'a (jako daną do sprawdzenia)
4. Całość generuje się 3x - 3 różne kolory z 3 input'ami (co wywołanie zmienia się name o +1).
<?php if($_GET['num'] == '3') { $num = '0'; $i = '1'; if(!$date_num == '0') { if($date_num<$_GET['num']) $num = $date_num; else $num = $_GET['num']; echo '<form action="rgb.php?go=check" method="post"> <table width="500" border="1">'; ORDER BY RAND() LIMIT '.$num.';'); { echo '<tr height="40"> <td width="40" align="center">#'.$i.'</td> <td width="80" style="background: '.$row['color_hex'].';"> </td> <td style="background: #FF0000;"> <b>R:</b> <input type="radio" name="color'.$i.'" value="red" /> <input type="hidden" name="color_check'.$i.'" value="'.$row['color_name'].'" /> <input type="hidden" name="color_hex'.$i.'" value="'.$row['color_hex'].'" /> </td> <td style="background: #00FF00;"> <b>G:</b> <input type="radio" name="color'.$i.'" value="green" /> </td> <td style="background: #0000FF;"> <b>B:</b> <input type="radio" name="color'.$i.'" value="blue" /> </td> </tr>'; $i++; } echo '</table> <input type="submit" value="Submit" /> </form>'; } ?>
Teraz właśnie jest problem ponieważ chce sprawdzić czy użytkownich na wzór obrazu wybrał odpowiedni kolor.
W bazie do każdego hex'a przypisana jest nazwa np: 1 | #FF0000 | red - czyli id=1, hex=#FF0000 i jest to kolor=red.
Właśnie teraz nie wiem jak to sprawdzić - wiem, że musze pobrać z bazy wszystkie kolory i porównać je z hex'ami z formularza. Następnie zobaczyć czy $_POST['color1/2/3'] == kolorowi z bazy (tego na podstawie hex'a). Jeżeli np. _POST['color1'] == jakiś $row['color_name'] (ten color_name jest z tego zamego wiersza co hex) to no $zmienna = 'ok' a jak ~= to $zmienna2 = 'wrong'; i przechodzi dalej do następnych 2. Po sprawdzeniu 3 wyświetla które są dobrze które źle.
Myślałem, żeby zrobić 3 różne zapytania dla każdego z kolorów - było by łatwiej bo podałbym WHERE `color_hex` = $_POST['color_hex'] ale znowu gdy będzie ich 20 to... :| Jestem wręcz pewien, że idzie to zrobić o wiele łatwiej ale właśnie jak? Ma ktoś jakis dobry pomysł?
