Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php]/[mysql]rozwijana lista, problem w wysłaniem danych
Lejto
post 8.12.2007, 19:21:35
Post #1





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

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


Mam rozwijany formularz który pobiera dane z mysql po zaznaczeniu u naciśnięciu przycisku mają zostać wysłane dane to bazy mysql ale to nie działa nie robiłem nigdy rozwijanych list z powiązaniem z mysql

Kod formularza:
  1. <?php
  2. $sql = "SELECT * FROM nauczyciel";
  3. $query = mysql_query($sql) or die ("Błąd MySQL");
  4. $rows=mysql_num_rows($query);
  5. ?>
  6.  
  7. <form action="?co=glosowanie" method="post">
  8. <select name="">
  9. <?
  10. for($i=0; $i < $rows; $i++)
  11. {
  12.  $row = mysql_fetch_array($query);
  13. ?>
  14.  
  15.  
  16. <option name="<? echo ($row[id]); ?>"><? echo ($row[blefer]) ?></option>
  17.  
  18.  
  19. <?php
  20. }
  21. ?><br />
  22. <input type="submit" value="Głosuj!" />
  23. </form>
  24. <?
  25.  
  26. echo '</select></form>';
  27. echo '</td></tr></table>';
  28. ?>


Kawałek kodu pochodzącego z pliku ?co=glosowanie
  1. <?php
  2. $id = $_POST['id'];
  3.  
  4. if(!empty($id)) // jezeli formularz zostal wypelniony, dodanie glosu 
  5. {
  6.  
  7. $id = addslashes($id);
  8. $zapytanie = "update nauczyciel set = glosow + 1 where blefer = '$id'";
  9. $query = mysql_query($wynik) or die ("Nie mogę wykonać zapytania");
  10. }
  11. ?>


Kod SQL:
  1. CREATE TABLE `nauczyciel` (
  2. `blefer` text character SET utf8 collate utf8_polish_ci NOT NULL,
  3. `glosow` text NOT NULL,
  4. `miejsce` text NOT NULL,
  5. `id` int(11) NOT NULL AUTO_INCREMENT,
  6. PRIMARY KEY (`id`)
  7. ) ENGINE=MyISAM DEFAULT CHARSET=latin2 AUTO_INCREMENT=68 ;


EDIT: Poprawiłem pętle bo nie jest tak jak powinna być

Ten post edytował Lejto 9.12.2007, 18:14:19


--------------------
Go to the top of the page
+Quote Post
dziurson
post 8.12.2007, 19:30:52
Post #2





Grupa: Zarejestrowani
Postów: 145
Pomógł: 16
Dołączył: 19.07.2007
Skąd: Elbląg

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


Spróbuj coś takiego

$query1 = mysql_query("SELECT glosow FROM nauczyciel WHERE id='".$id."';");
$data = mysql_fetch_assoc($query1);
$glosow = $data[glosow]+1;

$update = mysql_query("UPDATE nauczyciel SET glosow=".$glosow." WHERE id='".$id."';");

-- EDIT by JaRoPHP --
Proszę o stosowanie znaczników bbcode. Tym razem poprawiam, następnym razem dostaniesz 'nagrodę'.


Ten post edytował JaRoPHP 9.12.2007, 18:41:11
Powód edycji: Poprawa bbcode


--------------------
Go to the top of the page
+Quote Post
Lejto
post 11.12.2007, 17:48:22
Post #3





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

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


zrobiłem tak jak piszesz i w ogóle nie che mi obrazka wyświetlać błędy się pokazują z headerem

dziurson: miałeś błąd w zapytaniu ale jak go poprawiłem to i tak mi nie działa mam gdzieś błąd przy pobraniu parametru name do tablicy POST

Zmieniłem kod (option nie może mieć "name") ale i tak nie działa nie wiem już co mam źle
Kod formularza:
  1. <?
  2. $glosow=$_REQUEST['glosow'];
  3. $sql = "SELECT * FROM nauczyciel";
  4. $query = mysql_query($sql) or die ("Błąd MySQL");
  5. $rows=mysql_num_rows($query);
  6. ?>
  7.  
  8. <form action="?co=glosowanie" method="post">
  9. <select name="glosow">
  10. <?
  11. for($i=0; $i < $rows; $i++)
  12. {
  13.  $row = mysql_fetch_array($query);
  14. ?>
  15.  
  16.  
  17. <option value="<? echo ($row[blefer]); ?>"><? echo ($row[blefer]) ?></option>
  18.  
  19.  
  20. <?php
  21. }
  22. ?><br />
  23. <input type="submit" value="Głosuj!" />
  24. </form>
  25. <?
  26.  
  27.  
  28. echo '</select></form>';
  29.  
  30.  
  31.  
  32.  
  33.  
  34. echo '</td></tr></table>';
  35. ?>


Kod dodania do bazy:
  1. <?php
  2. if(!empty($glosow)) // jeżeli formularz został wypełniony, dodanie głosu
  3. {
  4.  
  5. $glosow=addslashes($glosow);
  6. $zapytanie="update nauczyciel
  7. set glosow = glosow + 1
  8. where blefer = '$glosow'";
  9. mysql_query($zapytanie) or die ("nie mogę wykonać zapytania");
  10. }
  11. ?>


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 25.06.2025 - 13:29