maestro20
31.01.2009, 11:17:35
Witam mam nastepujacy skrypt
<?php $q = mysql_connect("localhost", "maestro", "xxx") or
die('Blad: Nie mozna polaczy´c z MySQL!'); $option = (int)$_POST['id'];
$zapytanie = "SELECT * FROM `test` WHERE id ='$option'";
echo '<form action="update.php" method="post">'; echo 'Pytanie nr ';echo
($txt['id']); echo '<textarea rows="4" cols="50" name="pytanie">'.$txt['pytanie'].'</textarea>'; echo '<textarea rows="4" cols="50" name="odpa">'.$txt['odpa'].'</textarea>'; if ($txt['prawidlowa'] == 1)
{
echo '<input type="checkbox" name="odp" value=">'.$txt['prawidlowa'].'" checked="checked" />'; }
else
{
echo '<input type="checkbox" name="odp" value="'.$txt['cos innego'].'" />'; }
echo 'Prawidłowa odpowedź'; echo '<textarea rows="4" cols="50" name="odpb">'.$txt['odpb'].'</textarea>'; if ($txt['prawidlowa1'] == 1)
{
echo '<input type="checkbox" name="odp" value=">'.$txt['prawidlowa1'].'" checked="checked" />'; }
else
{
echo '<input type="checkbox" name="odp" value="'.$txt['cos innego'].'" />'; }
echo 'Prawidłowa odpowedź'; echo '<textarea rows="4" cols="50" name="odpc">'.$txt['odpc'].'</textarea>'; if ($txt['prawidlowa2'] == 1)
{
echo '<input type="checkbox" name="odp" value=">'.$txt['prawidlowa2'].'" checked="checked" />'; }
else
{
echo '<input type="checkbox" name="odp" value="'.$txt['cos innego'].'" />'; }
echo 'Prawidłowa odpowedź'; echo '<input type="submit" value="update" />'; ?>
ten skrypt ma edytowac wybrane pytanie z bazy ale niestety mam problemy z polonczeniem go z wyborem z bazy bo jak zrobie na sztywno pobranie to wszystko jest oki i dziala ale jak chce zeby edytowalo wybrany przez uzytkownika rekord to sie wysypuje i neimam pojecia jak to zrobic
_olo_1984
31.01.2009, 11:25:35
co to jest "rozsypuje się" ?
Po pierwsze wywal to (int) sprzed posta, po drugie sprawdzaj co przesyłasz w polu $_POST['id'], w pliku w którym odbierasz dane postem i łączysz się z bazą pobierając dane daj print_r($_POST['id']) i zobacz, czy wartość jest poprawna. Bo rozumiem że jeżeli do zapytania dasz na sztywno poprawny numer to skrypt "nie wysypie się" ?
maestro20
31.01.2009, 11:52:14
tak jak dam na sztywno to wszystko dzial i wyswietla sie jak a blad jak wypisuje mi jest nastepujacej tresci
"Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\gotowe dzialajace\usuniecie\test2.php on line 16"
mi sie wydaje ze ma problem z pobraniem tego zapytania do tablicy ale niestety niewiem jaki
mogl by ktos rzucic na to okiem Prosze
drzalek
31.01.2009, 11:58:04
Może tu jest jakiś błąd
<?php
$zapytanie = "SELECT * FROM `test` WHERE id ='$option'";
?>
Spróbuj tak:
<?php
$zapytanie = "SELECT * FROM test WHERE id =".$option
?>
patryczakowy
31.01.2009, 11:59:14
zamień ten kawałek
<?php
$zapytanie = "SELECT * FROM `test` WHERE id ='$option'";
?>
na
<?php
$zapytanie =mysql_query("SELECT * FROM `test` WHERE id ='$option'"); ?>
poprostu teraz w zmiennej $zapytanie masz ciąg znaków a nie dane z bazy danych
maestro20
31.01.2009, 12:08:17
Niestety zadne z waszch podpowiezi nie rozwiazalo w 100% mojego problemu ale bynajmniej teraz nie wyswietla errora
patryczakowy
31.01.2009, 12:23:13
a daj sobie
<?php
?>
przed zapytaniem i zobacz co masz w tej zmiennej i czy takie pole wogule istnieje w bazie
maestro20
31.01.2009, 12:29:48
pokazuje mi 0 czyli wyglonda na to ze ta funkcja nie przkazuje zadneg parametru
drzalek
31.01.2009, 12:38:45
To może pokaż jak przekazujesz to id
maestro20
31.01.2009, 12:41:58
robie to tak
<?php $link = mysql_connect("localhost", "maestro", 'Passw0d') or die('Blad: Nie mozna polaczy´c z MySQL!');
mysql_select_db("test2") or die('Blad: Nie mozna wybraz bazy danych!');
$zapytanie = mysql_query ("SELECT id FROM test where 1");
?>
<form action="usun.php" method="post"> <option value="0">Wybierz Pytanie
<?php while($option = mysql_fetch_assoc($zapytanie)) {
echo '<option value="'.$option['id'].'">'.$option['id'].'
</option>';
}
?>
drzalek
31.01.2009, 12:44:45
W pierwszym skrypcie nie używasz mysql_query()

!
maestro20
31.01.2009, 12:52:46
doalem i dalej nic teraz to wyglonda tak
$option =$_POST['id'];
$zapytanie = mysql_query ("SELECT * FROM `test` WHERE id ='.$option'");
$txt = mysql_fetch_assoc ($zapytanie);
drzalek
31.01.2009, 12:54:31
popraw
<?php
$option =$_POST['id'];
$zapytanie = mysql_query ("SELECT * FROM `test` WHERE id =".$option); ?>
drzalek
31.01.2009, 13:00:37
Sorki bo ja się pomyliłem, ale poprawiłem
<?php $q = mysql_connect("localhost", "maestro", "xxx") or
die('Blad: Nie mozna polaczy´c z MySQL!'); $option = (int)$_POST['id'];
$zapytanie = "SELECT * FROM `test` WHERE id =".$option;
?>
Jeżli w pierwszym skrypcie jest oki, tzn jeśli ten select przyjmuje odpowiednie wartości to tutaj też powinno być dobrze
maestro20
31.01.2009, 13:05:32
niestety dalej nie wyswietla ja
drzalek
31.01.2009, 13:07:00
No dobrze a ten skrypt:
<?php $link = mysql_connect("localhost", "maestro", 'Passw0d') or
die('Blad: Nie mozna polaczy´c z MySQL!');
$zapytanie = mysql_query ("SELECT id FROM test where 1"); ?>
<form action="usun.php" method="post">
<select name="id">
<option value="0">Wybierz Pytanie
</option>
echo '<option value="'.$option['id'].'">'.$option['id'].'</option>'; }
?>
działa prawidłowo??
maestro20
31.01.2009, 13:09:02
tak bo ja do tego skryptu mam dodane usuwanie z bazy rekordu i usuwanie dziala jak najlepiej wiec nie sdze zeby tu byl jakis problem
matixrr
31.01.2009, 13:09:04
SELECT id FROM test where 1
czy tu przypadkiem WHERE nie jest źle zadeklarowane :|
drzalek
31.01.2009, 13:15:16
Jeszcze zmień to:
<?php $q = mysql_connect("localhost", "maestro", "xxx") or
die('Blad: Nie mozna polaczy´c z MySQL!'); $option = (int)$_POST['id'];
$zapytanie = "SELECT * FROM test WHERE id =".$option;
?>
I może używaj albo ' albo ", żeby była jasność, bo potem się można pogubić co jest dla skryptu php, a co dla sql
maestro20
31.01.2009, 13:19:12
to zapytanie jstdobrze zdeklarowane bo jak dalem SELECT id FROM test pokazywalo mi to samo takrze tu nie tkwi problem
ale chyab juz to wyzej mi wpisales zebym zmienil, ale teraz tez to zrobilem i nic nie daje
drzalek
31.01.2009, 13:31:54
Zgodnie z tym co napisałeś w pierwszym poście, że jeśli ustawisz na sztywno to działa, czyli jak zrozumiałem jeśli zamiast id=$option, podasz np. id=4 to jest ok...
W związku z powyższym błąd MUSI być, albo w skrypcie gdzie wybierasz to id, albo w zapytaniu. Zakładam, że zapytanie poprawiłeś, bo mówiłeś, że nie zgłasza Ci już błędu.
Trzeba zatem jeszcze raz sprawdzić pierwszy skrypt, jeśli jest on w osobnym pliku, to możesz go uruchomić i zobaczyć co wyświetli Ci się w kodzie, chodzi o <option value="">, jeśli tam będzie dobrze to na chwilę obecną nie mam pomysłu co jeszcze.
maestro20
31.01.2009, 20:48:41
teraz to juz nic mi nie dziala i jestem troche wkurzony :[ czekaj zrobie reseta i zobaczymy co powie
Wiesz prawde mowiac nie wiem jak to sprawdzic bo jestem kompletnie zielony z tego ale wydaje mi sie ze skrypt dziala poprawnie bo mam usuwanie z bazy wlasnie na takiej zasadzi ze na jeden strone wybieram z listy odpowiedni rekord do usunicia i naciskam usun i rekord usuwa wiec to chyba nie to
No i niewiem jak mam to zrobic stoje z tym i echo prosze kogos o pomoc

Hej forumowicze ma ktos pomysl na moj problem bo kilku prubowalo ale niestety nie do konca skutecznie
Licze na na wasza pomoc
To może pokaż WSZYSTKO, co teraz masz, a nie podbijasz temat? IMHO trochę zakręciłeś, robiłeś coś poza forum, a moja szklana kula gdzieś się wturlała...