Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][SQL][PHP]Problem z pobieraniem rekordu z bazy danych
Forum PHP.pl > Forum > Przedszkole
zwirek-code
Witam, więc mam skrypt który dodaje,zmienia,usuwa rekordy w bazie danych, problem w tym że tych rekordów nie idzie dodać, a jeżeli nie idzie dodać to i nie idzie zmienić i usunąć, podejrzewam że żle wykonałem zapytanie, możecie mi przygotować odpowiednie?, tutaj skrypt:
http://www.angielska-liga.xaa.pl/a/pokaz.php

baza.php: http://speedy.sh/cxJns/baza.php
dodaj.php: http://speedy.sh/8z2NJ/dodaj.php
edytuj.php: http://speedy.sh/quek2/edytuj.php
pokaz.php: http://speedy.sh/FQXte/pokaz.php
usun.php: http://speedy.sh/pycPX/usun.php

a teraz kody tutaj:
baza.php
Kod
<?

$db = mysql_connect ("localhost", "p305546_user", "zwirek123")  or die("<p align=\"center\"><font color=\"red\"><b>Nie moge sie polaczyc z baza danych</b></font></p>");
mysql_select_db ("p305546_strona")  or die("<p align=\"center\"><font color=\"red\"><b>Nie moge sie polaczyc z baza danych</b></font></p>");

?>
<h1 align="center">Baza danych</h1>
<a href="pokaz.php">Pokaz rekordy</a> | <a href="dodaj.php">Dodaj rekord</a>

dodaj.php:
Kod
<?
include ("baza.php");

if ($co<>""){
if ($stan=="")
{
    $blad=1;
    echo("<p>Nie wypelniles wszystkich pol formularza</p>");

}
}

if ($co=="" || $blad==1)
{


echo <<<KONIEC
<form>
<div align="center">
<table border="1" width="400" id="table1">
<tr>
<td>Nazwisko</td>
<td><input type="text" name="stan" size="20" value="$stan"></td>
</tr>
</table>
</div>
<center><input type="submit"></center>
</form>
KONIEC;
}
else
{
    echo ("<p>Dodalem nowy rekord</p>");
    $x=mysql_query("INSERT INTO `stan` VALUES ('','$stan');");

}


mysql_close ($db);
?>

edytuj.php
Kod
<?
include ("baza.php");



if ($co<>""){
if ($stan=="")
{
    $blad=1;
    echo("<p>Nie wypelniles wszystkich pol formularza</p>");

}
}

if ($co=="" || $blad==1)
{


$result = mysql_query("SELECT stan,id FROM stan WHERE id='$id'");
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
    $stan=$row[0];
    $id=$row[1];
}
mysql_free_result($result);

echo <<<KONIEC
<form>
<div align="center">
<table border="1" width="400" id="table1">
<tr>
<td>Nazwisko</td>
<td><input type="text" name="stan" size="20" value="$stan"></td>
</tr>
</table>
</div>
<center><input type="submit"></center>
</form>
KONIEC;
}
else
{
    echo ("<p>Wyedytowano</p>");
    $x=mysql_query ("update telefony set stan='$stan' WHERE id='$id'");

}

mysql_close ($db);
?>

pokaz.php
Kod
<?
include("baza.php");

echo("<table style=\"text-align: left; width: 450;\" border=\"1\">");

$result = mysql_query("SELECT stan,id FROM stan WHERE 1");
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
    $stan=$row[0];
    $id=$row[1];
    echo("<tr><td>$stan</td><td><a href=\"usun.php?id=$id\">Usuń rekord</a></td><td><a href=\"edytuj.php?id=$id\">Edytuj rekord</a></tr></tr>\n");
}
mysql_free_result($result);



echo("</table>");

mysql_close ($db);
?>

usun.php
Kod
<?
include("baza.php");

$x=mysql_query ("DELETE FROM stan WHERE id='$id'");

echo("<p>Usunąłem rekord o ID: $id");


mysql_close ($db);
?>

smile.gif
Andrzej.W.
baza.php
  1. <?
  2.  
  3. $db = mysql_connect ("localhost", "p305546_user", "zwirek123") or die("<p align=\"center\"><font color=\"red\"><b>Nie moge sie polaczyc z baza danych</b></font></p>");
  4. mysql_select_db ('nazwa_tabeli', $db) or die("<p align=\"center\"><font color=\"red\"><b>Nie moge sie polaczyc z baza danych</b></font></p>");
  5.  
  6. ?>
  7. <h1 align="center">Baza danych</h1>
  8. <a href="pokaz.php">Pokaz rekordy</a> | <a href="dodaj.php">Dodaj rekord</a>


Poprawiona 4 linijka.
SmokAnalog
mysql_select_db przy braku drugiego parametru korzysta z ostatnio otwartego połączenia, więc nie to jest tu problemem.

Zastanowiłbym się raczej nad sprawdzaniem zmiennej $co. Skąd ona się bierze? Nie ma tu takiej zmiennej. Poza tym odwołujesz się do zmiennych wysłanych przez formularz bezpośrednio ($stan), co nie jest zalecane, a najprawdopodobniej nie działa Ci wcale, bo dawno temu zostało porzucone. Poczytaj o register globals.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.