Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Wyświetlanie i edycja rekordów z bazy MySQL
afgan227
post
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 17.02.2014

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


Witajcie.

Aktualnie pracuję nad stroną, w której chcę mieć możliwość dodawania, usuwania ,wyświetlenia oraz edycji rekordów z bazy MySql. Jak na razie poradziłem sobie z utworzeniem formularzu , który dodaje rekordy do bazy.

  1. <?php
  2.  
  3. $Marka = $_POST['Marka'];
  4. $Model = $_POST['Model'];
  5. $NrRej = $_POST['NrRej'];
  6. $LiczbaOsob = $_POST['LiczbaOsob'];
  7.  
  8. if($Marka && $Model && $NrRej && $LiczbaOsob)
  9. {
  10.  
  11.  
  12. $polaczenie = @mysql_connect('localhost', 'root', 'XXX')
  13. or die('Brak połączenia z serwerem MySQL');
  14. $db = @mysql_select_db('XXX', $polaczenie)
  15. or die('Nie mogę połączyć się z bazą danych');
  16.  
  17.  
  18. $zapytanie = @mysql_query("INSERT INTO autokar SET Marka='$Marka', Model='$Model', NrRej='$NrRej', LiczbaOsob='$LiczbaOsob'");
  19.  
  20. if($zapytanie) echo "Rekord został dodany poprawnie";
  21. else echo "Błąd nie udało się dodać nowego rekordu";
  22.  
  23. mysql_close($polaczenie);
  24. }
  25.  
  26. ?>


Kolejnym postępem w pracy było stworzenie tabelki, która wyświetla nam wszystkie rekordy w danej tabeli bazy.

  1. <?php
  2.  
  3. $wynik = mysql_query("SELECT * FROM autokar")
  4. or die('Błąd zapytania');
  5.  
  6. if(mysql_num_rows($wynik) > 0)
  7. {
  8. echo "<table cellpadding=\"10\" cellspacing=\"1\" border=\"1\" width=\"100%\" >";
  9. echo '<tr style="font-size:18px; height:60px; text-align:center" >';
  10. echo "<td><strong>ID</strong></td>";
  11. echo "<td><strong>Marka</strong></td>";
  12. echo "<td><strong>Model</strong></td>";
  13. echo "<td><strong>Numer rejestracyjny</strong></td>";
  14. echo "<td><strong>Maksymalna liczba pasażerów</strong></td>";
  15. echo "</tr>";
  16.  
  17. while($r = mysql_fetch_array($wynik))
  18. {
  19. echo '<tr style="font-size:14px; height:30px; text-align:center" >';
  20. echo "<td>".$r[0]."</td>";
  21. echo "<td>".$r[1]."</td>";
  22. echo "<td>".$r[2]."</td>";
  23. echo "<td>".$r[3]."</td>";
  24. echo "<td>".$r[4]."</td>";
  25. echo "</tr>";
  26. }
  27.  
  28. echo "</table>";
  29. }
  30.  
  31. ?>



Niestety nie wiem jak rozwiązać temat usuwania i edycji rekordów :< Znam składnie sql. Programowałem troche w c#. Niestety co do PHP to 6dzień w tym siedze.
Chciałbym, żeby to jakoś wyglądało i miało ręce i nogi. Musi to być w miarę intuicyjne.

1 ) Czy można np dodać nową kolumnę do tej mojej tabelki z danymi , w której miałbym opcję "usun"?

Coś 'a la' :

Kolumna 1 | Kolumna 2 | Kolumna 3 | Kolumna 4
ID 1 | cos 1 | cos 1 | kasuj
ID 2 | cos 2 | cos 2 | kasuj
ID 3 | cos 3 | cos 3 | kasuj

Jeżeli tak to w jaki sposób to okiełznać?

Powinienem wtedy dodać jakby hiperłącze do podstrony ze skryptem usuwającym ?

  1.  
  2. echo "<td><a href="link z kodem, do którego przypisujemy ID z tego wiersza, w którym jest kasuj">KASUJ</a></td>";
  3.  



2) A jeśli chodzi o edycję

Taki pomysł mam. Wrzucić do ComboBoxa dane. ( to wiem , że się da)
Po wybraniu jakiejś z opcji, automatycznie dane uzupełniły by formularz, w którym można by było dokonać edycji.. (Czy to da się zrobić?)


Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
sf
post
Post #2





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

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


błąd tak jak jest napisane, nie ma zdefiniowanej zmiennej $a

isset($_GET['a']) and $a = $_GET['a']; // ten zapis jest dziwny, może chodziło Ci o coś takiego :

$a = isset($_GET['a']) ? $_GET['a'] : null; // jeśli ustawiona jest zmienna 'a' w adresie url to przypisz do zmiennej $a jej wartość, w innym przypadku ustaw null

co do rowspan, to zadziała to tylko w przypadku gdy użyjesz tego jeden raz, a nie n razy, html wynikowy powinien być taki:

Kod
<table>
    <tr>
        <td>a1</td>
        <td>a2</td>
        <td rowspan="3">dodaj</td>
    </tr>
    <tr>
        <td>b1</td>
        <td>b2</td>
    </tr>
    <tr>
        <td>c1</td>
        <td>c2</td>
    </tr>    
    </table>


u Ciebie jest taki:

Kod
<table>
    <tr>
        <td>a1</td>
        <td>a2</td>
        <td rowspan="3">dodaj</td>
    </tr>
    <tr>
        <td>b1</td>
        <td>b2</td>
        <td rowspan="3">dodaj</td>
    </tr>
    <tr>
        <td>c1</td>
        <td>c2</td>
        <td rowspan="3">dodaj</td>
    </tr>    
    </table>


ponadto w linijce

Kod
echo '<td rowspan='$ile'><a href="aZarzadzanie.php">Dodaj</a></td>';


jest błąd, powinno być:

Kod
echo '<td rowspan="' . $ile . '"><a href="aZarzadzanie.php">Dodaj</a></td>';


dodatkowo sprawdzasz w pętli czy ustawiona jest zmienna $_GET['a'] oraz czy możesz ją usunąć, powinieneś to wyciągnąć poza pętlę while, już nie wspominam o tym, że przekazywanie w ten sposób zmiennych do zapytań jest dziurawe i spowoduje ataki na Twoją stronę (IMG:style_emoticons/default/wink.gif)

Ten post edytował sf 13.01.2015, 20:49:00
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 7.10.2025 - 03:59