Problem z wyciągnięciem unikalnej zmiennej

0

Witam.
Proszę się nie sugerować samym wyglądem. Szukam pomocy w funkcjonalnośći.

Otóż zrobiłem wypisywanie za pomocą pętli w tabeli rekordy.
Problem leży w tym iż chcę dodać opcję komentarza i kiedy to robię
to po wpisaniu komentarza w którekolwiek pole wszystkie inne są aktualizowane ostatnim wypisanym (co rozumiem).
Nie wiem tylko co zrobić aby wyciągnąć unikalną zmienną nie używając sesji itp aby komentarz z autorem byl dodawany w odpowieni wiersz tabeli.
(W zapytania do sql kombinuje z $rzad['komentarz'] ktora ma przechowywac komentarze wiem że teraz tylko wypisuje)

Ze względu na ilość nie podaję połaczeń itp bo to nie potrzebne.

  <table>
  while ($rzad = mysqli_fetch_array($result)) {
  echo '<tr class="wyniki">';
    echo '<td valign="top" width="5%"> 'Pierwsza:<br /> :' . $rzad['komentarz']  . '</td>';
            <br /><form action="form.php" method="post">
            Autor   <input type="text" name="autor" id="autor" size="30"><br />
            Komentarz <input type="text" name="kom" id="kom" size="30"><br />
            <input type="submit" name="dodaj" id="dodaj" value="Zmień hasło" >
            </form></td>';
    echo '<td valign="top" width="5%">' . 'Druga:' .substr($rzad['obrazek'], 0, 19) . '</td>';
    echo '<td valign="top" width="5%">' . 'Trzecia:' .substr($rzad['opis'], 0, 25) . '</td>';
    echo '</tr>';
  }   

  </table>

Dzięki za pomysły

0

Czy wiesz, że kod html/js/xhtml/co_tam_jeszcze_jest można mieszać z kodem php?
Echo używaj kiedy ma to sens, w reszcie przypadków jest to głupie.

0

Twój wiersz chyba posiada jakieś id - klucz główny?
Podawaj go w <input type="hidden" />, albo jako parametr GET w action formy.

0
while ($rzad = mysqli_fetch_array($result)) {
    echo '<tr class="wyniki">';
    echo '<td valign="top" width="5%">' . 'Zawartość :' . substr($rzad['id_komentarza'], 0, 22).'<br /> ' ?>
    <td valign="top" width="5%">tabelka:<br /> 
    <form action="form.php" method="post">
    Autor <input type="text" name="autor" id="autor" size="30"><br />
    Komentarz <input type="text" name="wiad" id="wiad" size="30"><br />
    <input type="submit" name="dodaj" id="dodaj" value="Zmień hasło" >
    </form></td> 

<?

mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("baza");

if (isset($_POST['dodaj']) ){
$autor = $_POST['autor'];
$wiad = $_POST['wiad'];
$id_komentarza = $rzad['id_komentarza'];
$zapytanie = mysql_query("INSERT INTO koment VALUES ('', '$id_komentarza', '$autor', '', '$wiad' )");
}

    echo '<td valign="top" width="5%">' . 'Piata tabelka:' .substr($rzad['nazwa '], 0, 19) . '</td>';
    echo '<td valign="top" width="5%"> <img src="uzytkownicyzdjecia/telefon/' . $rzad['zdjecie'] . '" width="300" height="200"/></td>';
    echo '</tr>';
  }   

  echo '</table>';
?>

Nadal mam problem w tabeli po dodaniu komentarza wszystko jest poprawnie poza tym że ten blok z sql'em wykonuje sie dla wszystkich rekordow więc dodaje się taki sam komentarz do kazdego rekordu. Czy moge zmienic zapytanie sql aby to wykluczyc ?

Dodam ze jesli wyciagne blok z sqlem za tabele to dodaje jak powinien jeden rekord jednak nie pobiera wtedy zmiennej $id_komentarza

0

Staram się to zrobić w get jednak nadal form.php?autor=Janek&wiad=cosss&nazwa=&doda=Dodaj
jak widać nie wiem jak przeslac naglowek get.

Wskażcie mi jak mam przeslac ten element nazwa dodatkowym get.

  while ($rzad = mysqli_fetch_array($result)) {
    echo '<tr class="wyniki">';
    echo '<td valign="top" width="5%">' . 'Zawartość :' . substr($rzad['nazwa'], 0, 22).'<br /> '. $rzad['firma'];?>

    <td valign="top" width="5%">tabelka:<br /> NUMER JAKI POWINIEN BYC: 
    <?php 

    $nazwa = $rzad['nazwa'];

    ?><br />
    <form action="form.php" method="GET">
    Autor <input type="text" name="autor" id="autor " size="30"><br />
    Komentarz <input type="text" name="wiad" id="wiad" size="30"><br />
    <input type="hidden" name="nazwa" id="nazwa" >
    <input type="submit" name="doda" id="doda" value="Dodaj" >
    </form></td> 

<?

mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("baza");

if (isset($_GET['doda']) ){
$autor = $_GET['autor'];
$wiad = $_GET['wiad'];
$nazwa = $_GET['nazwa'];
$zapytanie = mysql_query("INSERT INTO koment VALUES ('', '$nazwa', '$autor', '$wiad' )");
0

Boże. Ty się bierzesz za PHP i to jeszcze bazy danych jak masz problem z HTML-em, wiedzą o GET/POST (czyli protokole HTTP) i czytaniem ze zrozumieniem (gdzie ja Ci pisałem o zmianie atrybutu method?? Wyraźnie chyba pisze, żeby podawać dodatkowy parametr w action formularza)..
O tym, że masz dziurę w PHP umożliwiającą SQL Injection nawet nie wspominam.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0