Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] niezgodnosc liczb
Raffal
post 30.11.2006, 12:48:25
Post #1





Grupa: Zarejestrowani
Postów: 111
Pomógł: 0
Dołączył: 19.06.2006

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


Witam mam problem z edycja newsa tzn pobieram dane z formularza
gdzie wywyoluje nr newsa lecz cos nie dziala wydaje mi sie ze problem moze byc w niezgodnosci pol z baza danych tzn id jest autonumerowane ale nie jestem pewien

oto skrypt
  1. <?php
  2.  
  3. echo '<form action="" method="POST">';
  4. echo '<input type="text" name="nrnews" value="">';
  5. echo '<input type="submit" value="Zaladuj wiadomosc">';
  6. echo '</form>';
  7.  
  8. $id=(int)($_POST['nrnews']);
  9. echo $id;
  10.  
  11. mysql_connect('','','') or die('Błąd połączenia z bazą');
  12. mysql_select_db('baza') or die('Błędna baza');
  13.  
  14.  
  15.  
  16.  
  17. if(isset($_POST["temat"])){
  18. $temat=$_POST['temat'];
  19. $tresc=$_POST['tresc'];
  20. $data=date("Y-m-d H:i");
  21.  
  22. mysql_query('UPDATE news SET temat="'.$temat.'", tresc="'.$tresc.'", data="'.$data.'" WHERE id='.$id) or die('Niepoprawne zapytanie (2)');
  23. } else {
  24. $mysl=mysql_query('select temat,tresc from news where id='.$id) or die('Niepoprawne zapytanie (1)');
  25. $record=mysql_fetch_array($mysl);
  26. echo '<form action="" method="POST">';
  27. echo '<input type="hidden" name="nr" value="'.$id.'">';
  28. echo '<textarea name="temat" cols="50" rows="20">'.$record[0].'</textarea><br>';
  29. echo '<textarea name="tresc" cols="50" rows="20">'.$record[1].'</textarea><br>';
  30. echo '<input type="submit" value="Wyślij"></form>';
  31. }
  32. ?>

prosilbym o pomoc albo chociaz wskazania bledu bo nie moge wymyslec iinnego wyjscia

Ten post edytował Raffal 30.11.2006, 12:51:02
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 11)
Cysiaczek
post 30.11.2006, 12:52:56
Post #2





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Hmm.... a mógłbyś podać komunikat błędu?


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
nospor
post 30.11.2006, 13:17:03
Post #3





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




$_POST['nrnews']
a w formularzu masz nr a nie nrnews. nrnews masz w pierwszym formie, ale do update on sie nie liczy. przenosze


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Raffal
post 30.11.2006, 14:32:02
Post #4





Grupa: Zarejestrowani
Postów: 111
Pomógł: 0
Dołączył: 19.06.2006

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


to znaczy jak mam to naprawic questionmark.gif

co musze zmienic questionmark.gif

bo rozumiem ze $id z 2 Formularza nie zapisuje sie to jak mam to poprawic?
Go to the top of the page
+Quote Post
nospor
post 30.11.2006, 15:39:28
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




o rety... no to przeciez ci powiedzialem: nazwy ci sie roznią. Co zrobic? No chyba logiczne: nadac takie same. zmien w drugim formie nr na nrnews i po sprawie


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Raffal
post 30.11.2006, 16:09:09
Post #6





Grupa: Zarejestrowani
Postów: 111
Pomógł: 0
Dołączył: 19.06.2006

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


No raczej nie do konca dlatego ze w zapytaniu sql jest $id i zeby zapisac akutar w tym rekordzie musze pobrac
z hidden pole ktore pobiera sie z bazy sprawdzalem tak jak ty mowisz i nie dziala ;/ albo cos inaczej to rozumiem
Go to the top of the page
+Quote Post
nospor
post 30.11.2006, 17:21:20
Post #7





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
No raczej nie do konca dlatego ze w zapytaniu sql jest $id
Brawo, punkt za spostrzegawczosc winksmiley.jpg. A na powaznie: i co z tego? przeciez to $id pobierasz tak:
$id=(int)($_POST['nrnews']);

a w drugim formie nie masz pola nrnews tylko pole nr, przez co do Twojego $id, powiem brzydko, kupa trafia. Dlatego w drugim formie masz zmienic nr na nrnews i powinno byc git. jesli nadal ci nie dziala, to albo ja namieszalem (malo prawdopodobne winksmiley.jpg ), albo ty źle poprawiles, albo blad jest jeszcze gdzies indziej. pokaz wiec kod po porawkach i powiedz co jest jeszcze nie tak


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Raffal
post 30.11.2006, 17:50:27
Post #8





Grupa: Zarejestrowani
Postów: 111
Pomógł: 0
Dołączył: 19.06.2006

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


no dziala

a jezeli chcialbym zeby zamiast wpisywac nr newsa wybierac tylko z listy nr id (cheakbox)
to jak?

sporzadzilem narazie cos takiego

  1. <?php
  2. $wybor=mysql_query('select id from news) or die('Niepoprawne zapytanie (3)');
  3. $wybory=mysql_fetch_array($wybor);
  4.  
  5. for($i=0;$i<count(wybory);$i++)
  6. {
  7. echo '<input type="checkbox" name="a" value="$wybory[$i]">';
  8. ?>
Go to the top of the page
+Quote Post
nospor
post 30.11.2006, 18:03:48
Post #9





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
sporzadzilem narazie cos takiego
No i mi nie mow ze to ci wyswietla liste id. A skoro ci nie wyswietla (bo nie wyswietla) to powinienes luknac do manuala, przeczyatc cos o mysql_fetch_array(), przejrzec przyklady tam zalączone i juz bys wiedzial jak pobrac liste ID. Milej lektury. smile.gif

Pozatym skoro ma to byc edycja tylko jednego rekordu, to lepiej zamien na select, bo checkboxow mozna kilka na raz wybrac


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Raffal
post 3.12.2006, 13:56:50
Post #10





Grupa: Zarejestrowani
Postów: 111
Pomógł: 0
Dołączył: 19.06.2006

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


ok sprzzadzilem cos takiego

  1. <?php
  2. $wybor=mysql_query('select id,temat from news') or die('Niepoprawne zapytanie (3)');
  3. $wybory=mysql_fetch_row($wybor);
  4. //echo $wybory[0][0];
  5. echo '<form action="">';
  6. echo '<select name="nazwa">';
  7.  
  8. for($i=0;$i<count($wybory);$i++)
  9. {
  10.  
  11. echo '<option value=$wybory[$i]></option>';
  12.  
  13. }
  14. echo '</select>';
  15. echo '</form>';
  16. ?>


i co ? nic nie dziala mialo to sie odbywac w ten sposob ze pobierane jest id,temat z tabeli i w select jako value jest id a wyswietla sie temat
no ale nie dziala ........sad.gif
Go to the top of the page
+Quote Post
nospor
post 3.12.2006, 14:19:11
Post #11





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




powtorze jeszcze raz:
Cytat
No i mi nie mow ze to ci wyswietla liste id. A skoro ci nie wyswietla (bo nie wyswietla) to powinienes luknac do manuala, przeczyatc cos o mysql_fetch_array(), przejrzec przyklady tam zalączone i juz bys wiedzial jak pobrac liste ID. Milej lektury.
Zdaje sie wogole tego nie wziales sobie do serca smile.gif
W manualu w przykladzie jest taka ladna pętla, ktorej ty wogole nie wstawiles.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Raffal
post 3.12.2006, 15:14:39
Post #12





Grupa: Zarejestrowani
Postów: 111
Pomógł: 0
Dołączył: 19.06.2006

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


  1. <?php
  2. $wybor=mysql_query('select id,temat from news') or die('Niepoprawne zapytanie (3)');
  3.  
  4.  
  5. echo '<form action="" method=POST>';
  6. echo '<select name="nrnews">';
  7.  
  8. while ($row=mysql_fetch_array($wybor, MYSQL_NUM)) {
  9. echo $row[0];
  10. echo '<option value='.$row[0].'>'.$row[1].'</option>';
  11.  
  12. }
  13.  
  14. echo '</select>';
  15. echo '<br>twoj wybor to<br>'.$nrnews;
  16. echo '<input type="submit" value="Załaduj">';
  17. echo '</form>';
  18.  
  19. $id=(int)($_POST['nrnews']);
  20. echo $id;
  21.  
  22. if(isset($_POST["temat"])){
  23. $temat=$_POST['temat'];
  24. $tresc=$_POST['tresc'];
  25. $data=date("Y-m-d H:i");
  26.  
  27. mysql_query('UPDATE news SET temat="'.$temat.'", tresc="'.$tresc.'", data="'.$data.'" WHERE id='.$id) or die('Niepoprawne zapytanie (2)');
  28. } else {
  29. $mysl=mysql_query('select temat,tresc from news where id='.$id) or die('Niepoprawne zapytanie (1)');
  30. $record=mysql_fetch_array($mysl);
  31. echo '<form action="" method="POST">';
  32. echo '<input type="hidden" name="nrnews" value="'.$id.'">';
  33. echo '<textarea name="temat" cols="50" rows="20">'.$record[0].'</textarea><br>';
  34. echo '<textarea name="tresc" cols="50" rows="20">'.$record[1].'</textarea><br>';
  35. echo '<input type="submit" value="Wyślij"></form>';
  36. }
  37. ?>


ok to jest wersja ostateczna dziekuje za pomoc smile.gif

Ten post edytował Raffal 3.12.2006, 18:06:54
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: 14.08.2025 - 05:19