• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Dwa warunki dla if

Object Storage Arubacloud
0 głosów
381 wizyt
pytanie zadane 2 września 2019 w PHP przez milogab2004 Początkujący (440 p.)
zamknięte 10 września 2019 przez milogab2004

Dzień dobry

mam 8 okienek. Potrzebuje zrobić, aby po wpisaniu w bazie danych w tabeli np. aktywacja po wpisaniu tak okienko będzie niebieskie, a po wpisaniu nie będzie ciemne

Zrobiłem tak (oczywiście SQL i tabela podłączona wcześniej)

if($aktywny == tak)
{
 echo "<div class='tile1.........'></div>"
}
else
{
 echo "<divclass='tile1null'>-</div>"
}

I tu pojawia się problem: jak zrobić, żeby w if było coś w rodzaju "if($Aktywny == 'Tak' WHERE $ID == '1')

Wiem, że rozwiązanie jest banalne, ale nie mogę sobie z tym poradzić

Z góry dziękuje.

komentarz zamknięcia: Rozwiązanie pytania

1 odpowiedź

+1 głos
odpowiedź 2 września 2019 przez wiktoz Mądrala (7,040 p.)
wybrane 3 września 2019 przez milogab2004
 
Najlepsza
Połącz się z bazą danych i daj takie zapytanie: "SELECT okienko FROM nazwa_tabeli WHERE id=$ID". Dalej "odbierasz" odpowiedź z tego zapytania i sprawdzasz czy == tak, czy == nie. Jeśli dalej nie będziesz potrafił to napisz tylko jeszcze, czy używasz pdo czy mysqli to pomogę bardziej, ale z "grubsza" opisałem jak to powinno wyglądać.
komentarz 2 września 2019 przez milogab2004 Początkujący (440 p.)
      ini_set("display_errors", 0);
require_once 'dbconnect.php';
$polaczenie = mysqli_connect($host, $user, $password);
mysqli_query($polaczenie, "SET CHARSET utf8");
mysqli_query($polaczenie, "SET NAMES  'utf8' COLLATE 'utf8_polish_ci'");
mysqli_select_db($polaczenie, $database);

$zapytanietxt = sprintf("SELECT * FROM konfiguracja");
$rezultat = mysqli_query($polaczenie, $zapytanietxt);
$ile = mysqli_num_rows($rezultat);

             for ($i = 1; $i <= $ile; $i++)
             {
                           $row = mysqli_fetch_assoc($rezultat);
                           $ID_entry = $row['ID_entry'];
                           $Aktywny = $row['Aktywny'];
             }

             
  if (TUTAJ MAM PROBLEM)
   {
             echo "<div class='tile1'> <a href='klasy/$ID_entry' class='tilelink'>$Widok</a> </div>";
   }
   else
   {
             echo "<div class='tile1null'>-</div>";
   }

MySQL, może być inaczej niż pisałem. Chciałbym, żeby po wpisaniu w SQL w tabeli konfiguracja kolumna Aktywny "Tak" to wykonuje sie opcja. Tylko nie wiem jak zrobić żeby okienka wiedziały ktore sa 1, 2 ,3... 

Czy zrobić tak aby najpierw połączyc baze w 1 <?php, a pozniej każde okienko miało osobne <?php i w nim SELECT * FROM konfiguracja WHERE id=$ID ?> 

CZY

po zmianie zapytania do SQL okienko pierwsze w kodzie będzie miało ID 1, drugie 2 itd?

komentarz 2 września 2019 przez wiktoz Mądrala (7,040 p.)
Teraz to już się pogubiłem. O jakie okienka 1,2,3 chodzi? Opisz ogólnie jaka jest Twoja koncepcja. Jak chcesz, żeby to działało? Jakie zadanie ma ten skrypt?
komentarz 2 września 2019 przez wiktoz Mądrala (7,040 p.)
/...... wczesniejszy kod

while($row = mysqli_fetch_assoc($rezultat)){
     foreach($row as $val) {
           if($val['aktywny']==1) {// 1 zamiast TAK i 0 zamiast NIE
                //wyswietlasz przycisk aktywny
           }
           else{
                //wyswietlasz przycisk nieaktywny
           }
     }

}

Chyba tak będzie najprościej. Pętla while sprawdza czy istnieją rekordy w bazie danych a foreach wypisuje je wszystkie i podejmuje decyzje, czy jest aktywny czy nie. Dodatkowo taka porada - jeśli masz coś prawda/fałsz, np. twoje pole aktywny, to ustaw w bazie danych typ danych tej kolumny "tinyint" i zapisuj wartości 0 lub 1.

 

komentarz 2 września 2019 przez wiktoz Mądrala (7,040 p.)
a dlaczego uważasz, że lepiej jest 8 if'ów? poza tym jak masz siatkę 8x3 to masz 24 okienka
komentarz 2 września 2019 przez milogab2004 Początkujący (440 p.)

@wiktoz,  A czy jeszcze mógłbym prosic o pomoc w stawieniu zmiennych:

echo "<div class='tile1'> <a href='klasy/$ID_entry' class='tilelink'>$Widok</a> </div>";

mam coś takiego ".$row['$ID_entry']" ale jak to wstawiam to kod po tym przestaje być w echo...

komentarz 2 września 2019 przez wiktoz Mądrala (7,040 p.)

musisz zrobić to tak, bo jest za dużo apostrofów i cudzysłowów 

$link = $row['ID_entry'];
echo '<a href="klasy/$link">...</a>';

 

komentarz 3 września 2019 przez milogab2004 Początkujący (440 p.)

@wiktoz, Zmieniłem kod wyżej i wszysztko zaczęło działac. Problem jest tylko w tym, że wyśietla się siatka 8x3 z czego działa ostatnie 8. Da się zrobić, żeby wcześniejsze 2 były niewidoczne? 

PS Bardzo dziękuję za pomoc :D

komentarz 10 września 2019 przez milogab2004 Początkujący (440 p.)

@wiktoz, Wszystko działa. Zmieniłem dla while($row = mysqli_fetch_assoc SELECT i wyskakuje tyle ile trzeba. Bardzo dziękuje :D

Podobne pytania

0 głosów
3 odpowiedzi 1,944 wizyt
pytanie zadane 9 marca 2017 w C i C++ przez Artur Hajmowicz Początkujący (340 p.)
0 głosów
2 odpowiedzi 583 wizyt
pytanie zadane 4 listopada 2017 w PHP przez SzukającyPrzygód Bywalec (2,310 p.)
+1 głos
1 odpowiedź 243 wizyt
pytanie zadane 27 lipca 2021 w JavaScript przez Kytrap Początkujący (390 p.)

92,550 zapytań

141,393 odpowiedzi

319,522 komentarzy

61,935 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...