Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wykluczenie przy wyświetlaniu
Forum PHP.pl > Forum > PHP
carmellovy
Cześć!

Jestem początkujący w temacie PHP i przyszło mi edytować kod, z którym nie mogę sobie poradzić.

Jest to skrypt rejestracyjny powiązany z bazą mysql.
Potrzebuje zmienić tak kod, aby nie wyświetlało w liście dziedziny z id = 9.

Poniżej potrzebne fragmenty kodu:

$sql = 'SELECT u.id, u.imie, u.nazwisko, u.email, u.nrtel, u.male, u.birthdate, u.pesel, m.name AS miasto, k.name AS kierunek, u.otherkierunek, u.studia, ucz.name AS uczelnia, '.
'u.otheruczelnia, u.rok, u.otherjezyk, dz.name AS dziedzina, u.test_started_at, u.test_ended_at, u.punkty, s.name AS status '.
'FROM users u '.
'LEFT JOIN miasta m ON m.id = u.miasto '.
'LEFT JOIN kierunki k ON k.id = u.kierunek '.
'LEFT JOIN uczelnie ucz ON ucz.id = u.uczelnia '.
'LEFT JOIN dziedziny dz ON dz.id = u.dziedzina '.
'LEFT JOIN statusy s ON s.id = u.status '.
'WHERE u.is_admin = 0 '.
'ORDER BY u.id ASC';

<?php
$sql = 'SELECT * FROM dziedziny';
$dziedziny = $pdo->query($sql)->fetchAll(PDO::FETCH_ASSOC);
foreach($dziedziny as $key => $dziedzina){
$sql = "SELECT COUNT( * ) FROM `users` WHERE dziedzina = $dziedzina[id]";
$count = $pdo->query($sql)->fetch(PDO::FETCH_NUM);
$nazwa = explode(' (',$dziedzina[name]);
echo("<li ".($key ? '' : "class='first'")."".($key == count($dziedziny) - 1 ? "class='last'": "")."><span class='item miasto'>".$nazwa[0]."</span><span class='count'>$count[0]</span></li>");
}
?>


Będę mega wdzięczny za pomoc.
!*!
Używaj tagów jak podajesz kod na forum.

  1. if($dziedzina['id'] != 9)
  2. {
  3. // tu wyświetl wszytko inne co nie ma id 9
  4. }
carmellovy
W pliku, który odpowiada za wyświetlenie (rejestracja.html) mam tylko:



  1. <select name="register[dziedzina]">
  2. <option selected="selected" value="--- Wybierz dziedzinę ---">--- Wybierz dziedzinę ---</option>
  3. <!--{foreach from=$vars->doctrine->dziedziny->findAll() item=dziedzina}-->
  4.  
  5. <option value="{$dziedzina->id}" >{$dziedzina->name}</option>
  6.  
  7. <!--{/foreach}-->
  8. </select>


Nie mam pomysłu, gdzie tego ifa wstawić.
Damonsson
  1. WHERE u.is_admin = 0 AND dz.id != 9
carmellovy
Cytat(Damonsson @ 7.03.2013, 14:15:44 ) *
  1. WHERE u.is_admin = 0 AND dz.id != 9


Dzięki, ale chyba popełniłem mały błąd. Ten plik nie odpowiada za wyświetlanie - podesłałem jeszcze fragment pliku rejestracja.html, który za to odpowiada.
Damonsson
No to, tak jak wyżej ktoś napisał:
  1. if({$dziedzina->id} != 9) {
  2.  
  3. }


albo

  1. if($dziedzina->id != 9) {
  2.  
  3. }


nie wiem jak zadziała
carmellovy
Po nałożeniu ifa na wyświetlanie nie wyświetla, bo istnieje wartość id = 9.
Damonsson
  1. <?php if($dziedzina->id != 9): ?>
  2. <option value="{$dziedzina->id}" >{$dziedzina->name}</option>
  3. <?php endif; ?>


Tak zrobiłeś?
carmellovy
Cytat(Damonsson @ 7.03.2013, 15:15:36 ) *
  1. <?php if($dziedzina->id != 9): ?>
  2. <option value="{$dziedzina->id}" >{$dziedzina->name}</option>
  3. <?php endif; ?>


Tak zrobiłeś?


Jak tak zrobiłem to nic się nie zmienia - dalej widoczna jest ta z id 9.
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.