Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MYSQL]/[PHP]
Forum PHP.pl > Forum > Przedszkole
InzaghiX
Witam, mam taki problem odnośnie wyświetlenia wartości maksymalnej z kolumny gdy wyświetlam kod

  1. <?php
  2. $sql2 = "SELECT (id_film) FROM filmy";
  3. $result2 = mysql_query($sql2) or die( mysql_error() );
  4. while ($row = mysql_fetch_array($result2) )
  5.  echo "$row[id_film]<br/>";
  6.  mysql_free_result($result2);
  7. ?>


A jak chce zrobić aby wyświetliło maksymalna wartość kolumny i powiększyło ją o 1 w góre to nic nie wyświetla

  1. <?php
  2. $sql2 = "SELECT MAX(id_film)+1 FROM filmy";
  3. $result2 = mysql_query($sql2) or die( mysql_error() );
  4. while ($row = mysql_fetch_array($result2) )
  5.  echo "$row[id_film]<br/>";
  6.  mysql_free_result($result2);
  7. ?>
Wieviór
Chcesz by tylko pokazało większą wartość o jeden, czy dopisało w tabeli jeden?

  1. <?php
  2. $sql = "SELECT MAX(id_film) FROM filmy";
  3. $result = mysql_query($sql) or die(mysql_error());
  4. $row = mysql_fetch_array($result);
  5.  
  6. $numer = $row[id_film]+1;
  7. echo $numer.'<br/>';
  8.  
  9. $sql2 = "UPDATE filmy SET id_film=id_film+1 WHERE id='".$row[id_film]."'";
  10. mysql_query($sql2) or die(mysql_error());
  11. ?>


Wyczytujesz maksymalny id, pokazujesz go powiększonego o jeden, potem dodajesz do tego maksymalnego id w bazie jeden. Ja bym natomiast zmienił nazwę pola, id_film niech tylko będzie kluczem, a to co powiększasz niech będzie coś na zasadzie "pozycja_film", bo domyślam się, że o coś takiego chodzi.
nowotny
Bez sensu... skoro wybierasz element o wartości maksymalnej to już większej nie ma... wybieranie MAX()+1 nic nie zwróci bo takiej wartości nie ma...
Danone
Możesz zrobić sobie tak

  1. <?php
  2. $sql2 = "SELECT MAX(id_film) FROM filmy";
  3. $result2 = mysql_query($sql2) or die( mysql_error() );
  4. $wynik = $row[id_film] + 1;
  5. while ($row = mysql_fetch_array($result2) )
  6.  echo $wynik;
  7.  mysql_free_result($result2);
  8. ?>
Danone
Chciałbym wiedzieć, dlaczego zakładasz dwa takie same tematy? smile.gif dziwna sprawa smile.gif

Temat: MYSQL PHP
-InzaghiX-
Hmmm... nie pomaga ten kodzik który napisałeś, wypisuje tylko wartość 1 czyli jakbym wstawił tam 5 to wypisze wartość 5 a jak usune wogole dodanie to nic nie wyświetla ...jakiś inny pomysł?
InzaghiX
Zrobiłem teraz coś takiego

  1. <?php
  2. $liczba=1;
  3.  
  4.  $sql = "SELECT (id_film) FROM filmy";
  5.  $result = mysql_query($sql) or die(mysql_error());
  6.  $row = mysql_fetch_array($result);
  7.  
  8.  $numer = $row[id_film]+$liczba;
  9.  echo $numer.'<br/>';
  10. ?>


Lecz dodaje 1 ale nie do maksymalnej wartości kolumny lecz pierwszej wartośći , a jak dopisze SELECT MAX to wyświetla znów 1...
Wieviór
Zrób tak:
  1. <?php
  2. $sql = "SELECT * FROM filmy ORDER BY id_film DESC LIMIT 1";
  3. $result = mysql_query($sql) or die(mysql_error());
  4. $row = mysql_fetch_array($result);
  5.  
  6. $numer = $row[id_film]+1;
  7. echo $numer.'<br/>';
  8.  
  9. $sql2 = "UPDATE filmy SET id_film=id_film+1 WHERE id='".$row[id_film]."'";
  10. mysql_query($sql2) or die(mysql_error());
  11. ?>
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.