[php]sprawdzanie pola radio czy jest zaznaczone


(Azpr) #1
prywatne

 publiczne

myk polega na tym aby wyświetlić oba pola ale żeby jedno było zaznaczone. W teorii łączę się z bazą, pobieram wartość dla zmiennych a potem te zmienne lecą do pola checked pod warunkiem że są 1 lub 0 .

$zapytanie = "SELECT status_gg, status_tlen, status_jabber FROM prywata WHERE login = '$ids'";

$idzdo = mysql_query($zapytanie) or die(mysql_error());


?>


<?php

$zapytanie = mysql_fetch_array($idzdo);

$gg['pub'] = '0';

$gg['priv'] = '1';

if( (int)$zapytanie['status_gg'] !== 1) $gg['pub'] .= ' checked';

else $gg['priv'] .= ' checked';

echo '';

echo '';

echo '';

tylko że coś jest źle... jest jakiś sprawdzony sposób na to?


(Pifarek) #2

Nie rozumiem. Po co nadajesz wartości 0 i 1, a potem do tego dodajesz " checked" ?

A tak jakoś nie działa?

<?

if ($zapytanie[status_gg] == 1) {

	$html[1] = ' checked';

} else {

	$html[0] = ' checked';

}

?>

>
>

Jeżeli oczywiście $zapytanie[status_gg] będzie 1 lub 0.


(Azpr) #3

hmm owszem niby jest zaznaczenie ale błednie odczytywane, w bazie jest np.1 czyli ukryty to zaznaczy się publiczny…


(Pifarek) #4

No to pozamieniaj cyferki. :wink:


(Azpr) #5

hehe, tak pozmieniałem i efekt jest odwrotny czyli wychodzi na to że obojetnie co bym nie miał w bazie to i tak zanaczy się wartość początkowa tutaj ==1

kombinuje też jakoś tak, jednak nic z tego…

<?php

$zapytanie = "SELECT status_gg, status_tlen, status_jabber FROM prywata WHERE login = '$ids'";

$idzdo = mysql_query($zapytanie) or die(mysql_error());


	while ($wiersz = mysql_fetch_array($idzdo)) 

	{


if ((int)$zapytanie['status_gg'] !== 1) {

   $html[1] = ' checked';

} else {

   $html[0] = ' checked';


	}

}

?>





<?php


echo '$html[1]';

echo '$html[0]'; 


?>

<?php echo "".$html[1]."";?>




gg:

 /> prywatny

/> publiczny

(Pifarek) #6

u mnie działa takie coś (1 - prywatny, 0 - publiczny)

<?


// tutaj pobieranie danych z bazy

//$result = mysql_query("SELECT status_gg, status_tlen, status_jabber FROM prywata WHERE login = '$ids';");

//$row = mysql_fetch_array($result);


$row[status_gg] = 0;


if ($row[status_gg] == 1) {

	$gg[private] = ' checked';

} else {

	$gg[public] = ' checked';

}

?>


>Prywatny

>Publiczny

a swoją drogą to nad czym my się w ogóle głowimy… :stuck_out_tongue: