Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] instrukcja warunkowa a mysql
Forum PHP.pl > Forum > Przedszkole
in5ane
  1. <?php
  2. $row = mysql_fetch_array (mysql_query ("SELECT * FROM uzytkownicy;"));
  3. if ($row[3] == '2' ) { 
  4. echo'<a href="edit_dj.php">Zarządzanie DJ-ami & Adminami</a>'; 
  5. } else { 
  6. echo'To jest dla Admina'; 
  7. }
  8. ?>


Mam taki fragment kodu i chcialem zrobic ze jak uzytkownik w polu typ (w bazie mysql) (jest to 3 pole w bazie) ma numerek 2 to mu sie wyswietli ten "a href" a ten ktory ma numerek 1 to "to jest dla admina".

I to mi nie dziala...

Prosze o pomoc smile.gif
janus
Jeśli to jest 3 pole w tabeli uzytkownicy to pobierając dane z tablicy $row, powinniśmy zaczać liczyć od 0 a nie od 1. Czyli w tym kawałku kodu wystarczy zamienić $row[3] na $row[2].
gebp
jeżeli dobrze zakumkałem (zakładam że $row zawiera tylko jedną linię z bazy) to kolumna ma nazwę typ to:
  1. <?php
  2. if ($row['typ'] =="2" )
  3. {echo("Dla użyszkodników");}
  4. else
  5. {echo("Dla Admina");}
  6. ?>


jeżeli inaczej to:
  1. <?php
  2. $query=mysql_query ("SELECT * FROM uzytkownicy;");
  3. while ( $row=mysql_fetch_array($query) )
  4. { if ($row['typ'] =="2" )
  5.  {echo("Dla użyszkodników");}
  6. else
  7. {echo("Dla Admina");}
  8. }
  9. ?>
in5ane
a myslisz ze jak ja liczylem ?

dziala, ale jak teraz to zrobic zeby mi to zapamietywalo, bo jak przejde do innej podstrony i pozniej do niej powroce to juz jest jakby bylo tylko dla uzytkownikow
gebp
użyj sesji albo cookie albo jednego i drugiego.
in5ane
a moze mi ktos pomoc jak to dokladnie zapisac?
gebp
Poczytaj w manualu o sesjach.
W skrócie. $_SESSION jest zmienną superglobaną (jest zapamiętywana pzrez serwer i nie znika po zmianie strony)
  1. <?php
  2. session_start(); // konieczne żeby użwywać $_SESSION
  3. ...
  4. if ($row['typ'] =="2" )
  5. {echo("Dla użyszkodników");
  6.  $_SESSION['user']=1;}
  7. else
  8. {echo("Dla Admina");
  9.  $_SESSION['user']=2;}
  10.  
  11. ...
  12.  
  13. if ( $_SESSION['user]=="2" )
  14. { echo ("Witaj adminie");}
  15. else
  16. {echo("Zalogowany zwykły user");}
  17. ?>
in5ane
cos mi to nie dziala...

to jest przykladowo jakas podstrona
  1. <?php
  2. include_once('config.php');
  3. include_once('logowanie.php');
  4. ?>
  5. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
  6. <html>
  7. <head>
  8. <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" />
  9. <title>Panel Administracyjny</title>
  10. </head>
  11. <body link="#000000" alink="#000000" vlink="#000000" bgcolor="#FFFFFF">
  12. <font size="2" face="Verdana">
  13.  
  14.  
  15. <?php if($_SESSION['logowanie'] == 'poprawne') {
  16. echo '<h2>Panel Administracyjny - zarządzanie DJ-ami & Adminami:</h2><br><a href="index.php">Home</a> | <a href="kick_pilot.php">Kick Pilot</a> | <a href="konfiguracja.php">Konfiguracja Danych Pilota</a>';
  17.  
  18.  
  19. if ($row['typ'] =="2" )
  20. {echo(" | <a href="edit_dj.php">Zarządzanie DJ-ami & Adminami</a>");}
  21. else
  22. {echo("");}
  23.  
  24. echo '<br><br>';
  25.  
  26.  
  27. echo 'test<br><br>';
  28.  
  29. } else {
  30. echo '<h3>Aby zalogować się do Panelu Administracyjnego należy poniżej wpisać login i h
    asło</h3>'
    ;
  31. }
  32. echo logowanie();
  33. ?>
  34.  
  35. </body>
  36. </html>


mnie chodzi zeby ten napis dla admina nie znikal, bo ja zamiast tego mam link w menu i on znika ;/
gebp
Linia: 20 ~ rozumiem że gdzieś wcześniej pobierasz dane i towarzysz tablice $row? Bo jeżeli chodzi Ci o
  1. <?php
  2. if ($row['typ'] =="2" ) // linia 20 w twoim listingu
  3. {echo(" | <a href="edit_dj.php">Zarządzanie DJ-ami & Adminami</a>");}
  4. else
  5. {echo("");}
  6. ?>

to gdy $row['typ'] nie będzie równa 2 to wywali ci nic.
dla sprawdzenia doaj sobie
  1. <?php
  2. ....
  3. echo ("zmiena row= ".$row['typ']);
  4. if ($row['typ'] =="2" )
  5. ...
  6. ?>

Linia 33 ~ co chciałeś zrobić tu questionmark.gif? Nie jestem orzeł w PHP ale echo służy do "drukowania" a
  1. <?php
  2. logowanie();
  3. ?>

to nie zmienna najwyżej funkcja.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.