Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][mysql] dodawanie do bazy
molesta
post
Post #1





Grupa: Zarejestrowani
Postów: 74
Pomógł: 0
Dołączył: 3.03.2008

Ostrzeżenie: (0%)
-----


Witam mam problem....:/  mianowicie posiadam tabele o strukturze:
  1. CREATE TABLE `testy` (
  2. `fraza` varchar(25) NOT NULL,
  3. `ile` varchar(25) NOT NULL
  4. ) ENGINE=MyISAM DEFAULT CHARSET=latin2;


oraz skrypt php:
  1. <?php 
  2. $polaczenie = @mysql_connect('localhost', 'user', 'haslo')
  3. or die('Brak połączenia z serwerem mysql. Błąd: '.mysql_error());
  4.  
  5. $db = @mysql_select_db('szukaj', $polaczenie)
  6. or die('Nie mogę połączyć się z bazą danych. Błąd: '.mysql_error());
  7.  
  8. $fraza = $_POST['fraza'];
  9. $ins = @mysql_query("INSERT INTO testy SET fraza='$fraza'");
  10. ?>


chodzi mi o to że dodawanie rekordu do bazy działa, to znaczy dodawanie wartości z formularza do pola "fraza"
problem w tym że jest jeszcze pole o nazwie 'ile" które ma za zadanie zliczać ile razy dana fraza została wysłana z formularza.....nie bardzo wiem jak to zrobić
w tej chwili działa to tak:
W formularza dajmy na to daje fraze "testowanie" i dodaje do bazy, niestety ponowne dodane tej samej frazy powoduje utworzenie kolejnego rekordu o nazwie "testowanie'
chciałbym aby podczas wysyłania skrypt sprawdzał czy fraza już nie istnieje w bazie i jesli jest to zwiekszal o 1 wartość pola "ile"
a jesli nie istnieje to dodawał nowy rekord.

Bardzo bym prosiło pomoc , troche mnie to przerasta.....sprawa jest pewnie banalna..

Będe wdzieczny
Pozdrawiam

Ten post edytował molesta 3.03.2008, 17:21:45
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
molesta
post
Post #2





Grupa: Zarejestrowani
Postów: 74
Pomógł: 0
Dołączył: 3.03.2008

Ostrzeżenie: (0%)
-----


teraz wywalił coś takiego

Something is wrong in your syntax obok 'ORDER BY ile DESC' w linii 1
kod wyglada tak :
  1. <?php 
  2.  
  3. $polaczenie = @mysql_connect('localhost', 'xxx', 'xxx')
  4. or die('Brak polaczenia z serwerem mysql. Blad: '.mysql_error());
  5.  
  6. $db = @mysql_select_db('xxx', $polaczenie)
  7. or die('Nie moge polaczyc sie z baza danych. Blad: '.mysql_error());
  8.  
  9.  
  10. $fraza = mysql_real_escape_string($_POST['fraza']);
  11.  
  12. $query = mysql_query('SELECT ile FROM testy WHERE fraza = "' . $fraza . '"');
  13.  
  14. if(mysql_num_rows($query))
  15. {
  16. $query = mysql_fetch_assoc($query);
  17. mysql_query('UPDATE testy SET ile = ' . ($query['ile'] + 1) . '
  18.  WHERE fraza = "' . $fraza . '"');
  19. }
  20. else
  21. {
  22. mysql_query('INSERT INTO testy VALUES("' . $fraza . '", 1)');
  23. }
  24. $limit = 10;
  25.  
  26. // Zapytanie pobierające x rekordów, sortowane malejąco według pola 'ile'
  27. $query = mysql_query('SELECT * FROM testy LIMIT 0, ' . $limit . ' ORDER BY ile DESC');
  28. // Pętla while
  29. while($row = mysql_fetch_assoc($query))
  30. {
  31. // Wyświetla dane
  32. echo $row['fraza'] . ' - ' . $row['ile'] . '<br />';
  33. }
  34. ?>
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 7.10.2025 - 19:55