[PHP] wczytanie danych do formularza

Chcę wczytac zaznaczony rekord do formularza, czy ktos może mi powiedzieć co jest nie tak w tym kodzie ze nie działa. oto pierwszy plik

w którym jest połączenie

do bazy i wczytanie rekordów do bazy i to się ładnie wczytuje:

//polaczenie do bazy, itp.

<?php

      echo ("");


    while($row = mysql_fetch_array($result)) {

      echo('');

      echo(''.$row['Nr'].'');

      echo(''.stripslashes($row["Towar"]).'');

      echo('');

      echo('');

    }

?>

a to plik z formularzem do którego chce wczytac rekordy: i tu własnie coś musi być nie tak bo nie wczytuje mi się:

| Nr: | |
| Imie: | |
| |

[/code]

zamiast:

value="<?php $row['Nr']?>

powinno być:

value="<?php echo $row['Nr']?>

w pozostałych analogicznie pozmieniaj i będzie ok

Nie no co Ty nic nie dało, próbowałem już wcześniej w ten sposób ale nie wyświetla dalej.

echo przed $row[’***’] musi być

jeśli nie działa to znaczy że coś źle jest w zapytaniu sql lub nie odbierasz zmiennej z id rekordu do wyświetlenia

zapytanie raczej jest ok bo rekordy się wyświetlają ok. Martwi mnie natomiast to odbieranie zmiennej z id rekordu do wyświetlenia, w sumie to nie wiem jak ja odebrać…

w pliku formularzedycji.php musisz odebrać zmienną

$_POST["***"];

w miejsce gwiazdek wstawiasz zmienną z id rekordu (z tego co widzę to u Ciebie prawdopodobnie Nr)

jak dasz strukturę bazy danych to będę w stanie Ci coś więcej napisać

Strukturę bazy danych?? Struktura jest taka, że mam jedną tabele i w niej dwa pola o nazwie “Nr” i “Towar”. A jeśli chodzi o $_POST to w ten sposób $_POST[‘Nr’]; nic się nie wyświetla a w ten sposób $_POST[‘radio’]; jak próbowałem to pojawia się napis array

tak strukturę np w postaci zrzuty z phpmyadmin http://www.przemo.org/phpBB2/tutorial_phpmyadmin/2.gif

http://img547.imageshack.us/img547/5210/bazadanych.jpg

Jak dobrze rozumiem, to plik z formularzem jest inny niż plik w którym dokonujesz odczytu danych z bazy danych ? To jak ma Ci zadziałać $row[‘Nr’], skoro w pliku z formularza takowa zmienna nie istnieje ? Musisz w pliku który wyświetla Ci formularz przekazać te wszystkie zmienne, które chcesz wyświetlić w formularzu, np metodą POST.

A tak na marginesie polecam rozdzielić logikę aplikacji (PHP, MySQL) od warstwy prezentacji (HTML, CSS) stosując jakiś system szablonów, pomaga to znacznie bardziej w utrzymaniu kodu i łatwiej jest znaleźć ewentualne błędy.

w pierwszym pliku zmień:

echo('');

na np.:

echo(' edytuj ');[/code]




na początku formularzedycji.php wpisujesz:

[code] $nr = $_GET[“nr”]; $rezultat = mysql_query(“SELECT * FROM nazwa_tabeli WHERE Nr=$nr”); $row = mysql_fetch_array($rezultat);

OK. Dzięki Wery działa :wink:

P.S

Szkoda, że nie udało się z tym checkboxem ale może i tak być.

z checkboxem też można. Zamiast określać indywidualną nazwę każdego checkboxa nadaj im nazwę np. check[] a dopiero jego indywidualna wartość to .$row[‘Nr’]

Następnie odczytujesz wartości poszczególnych wartości w ten sposób utworzonej tablicy checkboxów i ustalasz jakieś działanie dla nich.

To dla checkboxa udało mi się zrobić, może komuś się przyda kiedyś :wink:

$nr = $_POST["radio"];

                        foreach($_POST['radio'] as $index => $pozycja) {

                        if ($pozycja != '' && is_numeric($index)) {

                           $rezultat = mysql_query("SELECT * FROM kontakty WHERE Nr = '$index'");

                           $row = mysql_fetch_array($rezultat);

                           }

                        }