Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Katalog płyt CD w oparciu o MySQL
Forum PHP.pl > Forum > Przedszkole
Kvcyk
Witam. Mam do szkoły następujące zadanie:
"Prosty katalog płyt kompaktowych zbudowany w oparciu o bazę danych MySQL i języki PHP oraz HTML/XHTML/JavaScript. Jedna tabela zawierająca kod płyty, datę nagrania, datę dodania do bazy, tytuł płyty i uwagi. Wyświetlanie z możliwością sortowania według wybranego kryterium. Edycja, dodawanie i usuwanie wpisów. Możliwość wyszukiwania według wybranego kryterium."

Zrobiłem coś takiego:

  1. <?
  2.  
  3.  mysql_connect ("localhost", "Kvcyk", "Kvcyk") or die ("Nie można połączyć się z MySQL");
  4.  mysql_select_db ("katalog") or die ("Nie można połączyć się bazą katalog");
  5.  
  6.  if ($_POST['co'] == 'dodaj') { // dodawanie rekordu
  7. if ($_POST['tytul'] && $_POST['uwagi'] && $_POST['data_dodania'] && $_POST['data_nagrania']) {
  8.  $query = "INSERT INTO plyty (tytul, uwagi,";
  9.  $query = "data_dodania, data_nagrania) VALUES ('".$_POST['tytul']."', 
  10.  '".$_POST['uwagi']."', '".$_POST['data_dodania']."', '".$_POST['data_nagrania'].'");";
  11.  $wynik = mysql_query ($query);
  12.  }
  13.  } elseif ($_POST['co'] == 'popraw') { //poprawianie rekordu
  14.  if ($_POST['tytul'] && $_POST['uwagi'] && $_POST['data_dodania'] && $_POST['data_nagrania']) {
  15.  $query = "UPDATE plyty SET tytul='".$_POST
  16.  ['tytul']."', uwagi=";
  17.  $query = "'".$_POST['uwagi']."', data_dodania='".$_POST
  18.  ['data_dodania']."', data_nagrania='".$_POST
  19.  ['data_nagrania']."' WHERE id='".$_POST['id']."';";
  20.  $wynik = mysql_query ($query);
  21.  }
  22.  } elseif ($_GET['co'] == 'edytuj') { //przygotowanie do poprawek
  23.  $query = "SELECT * FROM plyty where id='".$_GET
  24.  ['id']."';";
  25.  $wynik = mysql_query ($query);
  26.  $rekord = mysql_fetch_assoc ($wynik);
  27.  $id = $rekord['id']; $tytul = $rekord['tytul']; $uwagi = $rekord['uwagi'];
  28.  $data_dodania = $rekord['data_dodania']; $data_nagrania = $rekord['data_nagrania'];
  29.  print '<FORM METHOD="POST">Poprawa rekordu:';
  30.  print '<INPUT TYPE="hidden" NAME="co" VALUE="popraw">';
  31.  print '<INPUT TYPE="hidden" NAME="id" VALUE="'.$id.'"><TABLE>';
  32.  print '<TR><TD>Tytuł:</TD><TD><INPUT TYPE="text" ';
  33.  print 'NAME="tytul" VALUE="'.$tytul.'"></TD></TR><TR><TD>Uwagi:';
  34.  print '</TD><TD><INPUT TYPE="text" NAME="uwagi"';
  35.  print 'VALUE="'.$uwagi;
  36.  print '"></TD></TR><TR><TD>Data dodania:</TD><TD><INPUT TYPE="text"';
  37.  print 'NAME="data_dodania" VALUE="'.$data_dodania.'"></TD></TR><TR><TD>Data nagrania:';
  38.  print '</TD><TD><INPUT TYPE="text" NAME="data_nagrania"' VALUE="'.$data_nagrania.'"></TD></TR>';
  39.  print '</TABLE><INPUT TYPE="submit" VALUE="Popraw"></FORM>';
  40. } elseif ($_GET['co'] == 'skasuj') { //usuwanie
  41. $wynik = mysql_query
  42. ("DELETE FROM plyty WHERE id = '".$_GET
  43. ['id']."';");
  44. }
  45.  
  46. $wynik = mysql_query ("SELECT * FROM plyty;"); print "<TABLE CELLPADDING=5 BORDER=1>";
  47. print "<TR><TD><B>Tytuł</B></TD><TD><B>Uwagi</B></TD>';
  48. print "<TD><B>Data dodania</B></TD><TD><B>Data nagrania</B></TD><TD></TD><TD></TD></TR>n";
  49.  
  50. while ($rekord = mysql_fetch_assoc ($wynik)) {
  51. $id = $rekord['id'];
  52. $tytul = $rekord['tytul'];
  53. $uwagi = $rekord['uwagi'];
  54. $data_dodania = $rekord['data_dodania'];
  55. $data_nagrania = $rekord['data_nagrania'];
  56.  
  57. if (!($_POST['fraza']) || (stristr ($tytul.$uwagi.$data_dodania.$data_nagrania, $_POST['fraza']))) {
  58. print "<TR><TD>$tytul</TD><TD>$uwagi</TD><TD>data_dodania</TD><TD>data_nagrania</TD><TD>";
  59. print "<A HREF="4-29.php?co=skasuj&id=$id">skasuj</A></TD<TD>";
  60. print "<A HREF="4-29.php?co=edytuj&id=$id">
  61. edytuj</A></TD></TR>n";
  62.  }
  63. }
  64.  
  65. print "</TABLE>";
  66. print '<FORM METHOD="POST">Nowy rekord:';
  67. print '<INPUT TYPE="hidden" NAME="co" VALUE="dodaj"><TABLE>';
  68. print '<TR><TD>Tytuł:</TD<TD><INPUT TYPE="text" ';
  69. print 'NAME="tytul"></TD></TR><TR><TD>Uwagi:</TD><TD><INPUT ';
  70. print 'TYPE="text" NAME="uwagi"></TD></TR><TR><TD>Data dodania:</TD>';
  71. print '<TD><INPUT TYPE="text" NAME="data_dodania"></TD></TR>';
  72. print '<TR><TD>Data nagrania:</TD><TD><INPUT TYPE="text" NAME="data_nagrania"></TD></TR>';
  73. print </TABLE><INPUT TYPE="submit" VALUE "Dodaj"></FORM>;
  74.  
  75.  ?>


Niestety coś mi to nie działa. Więc mam prośbę czy mógłby ktoś mi to sprawdzić co jest nie tak bo ja siedziałem 2 godz i nie umie tego znaleźć sad.gif Będę ogromnie wdzięczny biggrin.gif Pozdrawiam

P.S. Nazwa uzytkonika: Kvcyk ,nazwa bazy danych: katalog nazwa tabeli: plyty
Potrzebuję tego na sobotę.
Komorki tabeli data_dodania i data_nagrania mają wartość: DATE, a tytul i uwagi: TEXT

Proszę gdyby ktoś mógł sprawdzić ten kod co jest nie tak sad.gif
P.S. wyskakuje taki błąd "Parse error: parse error, unexpected T_STRING in C:\Program Files\WebServ\httpd\katalog.php on line 24" czyli w lini:
  1. <?php
  2. } elseif ($_POST['co'] == 'popraw') { //poprawianie rekordu
  3. ?>
kossa
spojrzałem na okolice linii 24 i od razu rzuciło się w okczy

  1. <?php
  2. $query = "UPDATE plyty SET tytul='".$_POST
  3.  ['tytul']."', uwagi=";
  4. ?>


a powinno być:

  1. <?php
  2. $query = "UPDATE plyty SET tytul='".$_POST
  3.  ['tytul']."', uwagi='' ";
  4. ?>


i używaj BBCode jak masz php to PHP bo lepiej układa składnie i lepiej się czyta niż KOD.

Łukasz
Qmis
A nie chodzi o to że powinno być:
  1. $query = "INSERT INTO plyty (tytul, uwagi, data_dodania, data_nagrania) VALUES ('".$_POST['tytul']."',
  2. '".$_POST['uwagi']."', '".$_POST['data_dodania']."', '".$_POST['data_nagrania'].'");";


zamiast
  1. $query = "INSERT INTO plyty (tytul, uwagi,";
  2. $query = "data_dodania, data_nagrania) VALUES ('".$_POST['tytul']."',
  3. '".$_POST['uwagi']."', '".$_POST['data_dodania']."', '".$_POST['data_nagrania'].'");";


Bo $query odnosi się chyba do całego inserta i wydaje mi się że takie dzielenie nie przejdzie questionmark.gif
kossa
a to też chyba, masz rację @Qmis, tam powinno być "sklejone" Query smile.gif czyli

  1. <?php
  2. $query="insert....";
  3. //a dalej
  4. $quer.="...";
  5. ?>


to akurat w kodzie nie był błąd któy był w zaprezentowany @Kvcyk ale to byłby błąd mysql.

Łukasz
Kvcyk
Witam. Dziękuję za szybką odpowiedz. Niestety nadal nie działa. Jestem początkujący w tym temacie i gubię się z tymi wszystkim znaczkami. Co jeszcze może być źle sad.gif
teraz kod wygląda tak:
  1. <?php
  2. if ($_POST['co'] == 'dodaj') { // dodawanie rekordu
  3. if ($_POST['tytul'] && $_POST['uwagi'] && $_POST['data_dodania'] && $_POST['data_nagrania']) {
  4.  $query = "INSERT INTO plyty (tytul, uwagi, data_dodania, data_nagrania) VALUES ('".$_POST['tytul']."',
  5. '".$_POST['uwagi']."', '".$_POST['data_dodania']."', '".$_POST['data_nagrania'].'");";
  6.  $wynik = mysql_query ($query);
  7.  }
  8.  } elseif ($_POST['co'] == 'popraw') { //poprawianie rekordu
  9.  if ($_POST['tytul'] && $_POST['uwagi'] && $_POST['data_dodania'] && $_POST['data_nagrania']) {
  10.  $query = "UPDATE plyty SET tytul='".$_POST
  11.  ['tytul']."', uwagi='' ";
  12.  $query = " '".$_POST['uwagi']."', data_dodania='".$_POST
  13.  ['data_dodania']."', data_nagrania='".$_POST
  14.  ['data_nagrania']."' WHERE id='".$_POST['id']."';";
  15.  $wynik = mysql_query ($query);
  16.  }
  17.  } elseif ($_GET['co'] == 'edytuj') { //przygotowanie do poprawek
  18.  $query = "SELECT * FROM plyty where id='".$_GET
  19.  ['id']."';";
  20.  $wynik = mysql_query ($query);
  21.  $rekord = mysql_fetch_assoc ($wynik);
  22.  $id = $rekord['id']; $tytul = $rekord['tytul']; $uwagi = $rekord['uwagi'];
  23.  $data_dodania = $rekord['data_dodania']; $data_nagrania = $rekord['data_nagrania'];
  24.  print '<FORM METHOD="POST">Poprawa rekordu:';
  25.  print '<INPUT TYPE="hidden" NAME="co" VALUE="popraw">';
  26.  print '<INPUT TYPE="hidden" NAME="id" VALUE="'.$id.'"><TABLE>';
  27.  print '<TR><TD>Tytuł:</TD><TD><INPUT TYPE="text" ';
  28.  print 'NAME="tytul" VALUE="'.$tytul.'"></TD></TR><TR><TD>Uwagi:';
  29.  print '</TD><TD><INPUT TYPE="text" NAME="uwagi"';
  30.  print 'VALUE="'.$uwagi;
  31.  print '"></TD></TR><TR><TD>Data dodania:</TD><TD><INPUT TYPE="text"';
  32.  print 'NAME="data_dodania" VALUE="'.$data_dodania.'"></TD></TR><TR><TD>Data nagrania:';
  33.  print '</TD><TD><INPUT TYPE="text" NAME="data_nagrania"' VALUE="'.$data_nagrania.'"></TD></TR>';
  34.  print '</TABLE><INPUT TYPE="submit" VALUE="Popraw"></FORM>';
  35. } elseif ($_GET['co'] == 'skasuj') { //usuwanie
  36. $wynik = mysql_query
  37. ("DELETE FROM plyty WHERE id = '".$_GET
  38. ['id']."';");
  39. }
  40.  
  41. $wynik = mysql_query ("SELECT * FROM plyty;"); print "<TABLE CELLPADDING=5 BORDER=1>";
  42. print "<TR><TD><B>Tytuł</B></TD><TD><B>Uwagi</B></TD>';
  43. print "<TD><B>Data dodania</B></TD><TD><B>Data nagrania</B></TD><TD></TD><TD></TD></TR>n";
  44.  
  45. while ($rekord = mysql_fetch_assoc ($wynik)) {
  46. $id = $rekord['id'];
  47. $tytul = $rekord['tytul'];
  48. $uwagi = $rekord['uwagi'];
  49. $data_dodania = $rekord['data_dodania'];
  50. $data_nagrania = $rekord['data_nagrania'];
  51.  
  52. if (!($_POST['fraza']) || (stristr ($tytul.$uwagi.$data_dodania.$data_nagrania, $_POST['fraza']))) {
  53. print "<TR><TD>$tytul</TD><TD>$uwagi</TD><TD>data_dodania</TD><TD>data_nagrania</TD><TD>";
  54. print "<A HREF="4-29.php?co=skasuj&id=$id">skasuj</A></TD<TD>";
  55. print "<A HREF="4-29.php?co=edytuj&id=$id">
  56. edytuj</A></TD></TR>n";
  57.  }
  58. }
  59.  
  60. print "</TABLE>";
  61. print '<FORM METHOD="POST">Nowy rekord:';
  62. print '<INPUT TYPE="hidden" NAME="co" VALUE="dodaj"><TABLE>';
  63. print '<TR><TD>Tytuł:</TD<TD><INPUT TYPE="text" ';
  64. print 'NAME="tytul"></TD></TR><TR><TD>Uwagi:</TD><TD><INPUT ';
  65. print 'TYPE="text" NAME="uwagi"></TD></TR><TR><TD>Data dodania:</TD>';
  66. print '<TD><INPUT TYPE="text" NAME="data_dodania"></TD></TR>';
  67. print '<TR><TD>Data nagrania:</TD><TD><INPUT TYPE="text" NAME="data_nagrania"></TD></TR>';
  68. print </TABLE><INPUT TYPE="submit" VALUE "Dodaj"></FORM>;
  69. ?>


A nie mógł by mi ktoś tego poprawić tak żeby działało?questionmark.gif Bardzo mi na tym zależy a sam nie mam za dużego pojęcia i czasu (pisałem to przy pomocy książek i treści z zajęć lekcyjnych) Potrzebuje tego żeby zaliczyć przedmiot. Mogę nawet zapłacić komuś żeby mi to poprawił

Poprawiłem kod i działa biggrin.gif Niestety nie dodaje, nie usuwa i nie edytuje danych w bazie, (ale odczytuje dane dobrze) sad.gif Co może być źle?questionmark.gif
Kod wygląda tak:
  1. <?
  2.  
  3.  mysql_connect ("localhost", "Kvcyk", "Kvcyk");
  4.  mysql_select_db ("katalog_cd");
  5.  
  6.  if ($_POST['co'] == 'dodaj') {  // dodawanie rekordu
  7.  if ($_POST['tytul'] && $_POST['uwagi'] && $_POST['data_dodania'] && $_POST['data_nagrania'] ) {
  8.  $query = "INSERT INTO plyty (tytul, uwagi, data_dodania, data_nagrania) VALUES ('".$_POST['tytul']."', '".$_POST['uwagi']."', '".$_POST['data_dodania']."', '".$_POST['data_nagrania']."')";
  9.  $wynik = mysql_query ($query);
  10.  }
  11.  } elseif ($_POST['co'] == 'dodaj') { //poprawianie rekordu
  12.  if ($_POST['tytul'] && $_POST['uwagi'] && $_POST['data_dodania'] && $_POST['data_nagrania']) {
  13.  $query = "UPDATE plyty SET (tytul='".$_POST['tytul']."', uwagi='".$_POST['uwagi']."', data_dodania='".$_POST['data_dodania']."', data_nagrania='".$_POST['data_nagrania']."') WHERE (id='".$_POST['id']."')";
  14.  $wynik = mysql_query ($query); 
  15.  } 
  16.  } elseif ($_GET['co'] == 'edytuj') {  // przygotowanie do poprawek
  17.  $query = "SELECT * FROM plyty WHERE (id='".$GET_['id']."')";
  18.  $wynik = mysql_query ($query);
  19.  $rekord = mysql_fetch_assoc ($wynik);
  20.  $id = $rekord['id'];
  21.  $tytul = $rekord['tytul'];
  22.  $uwagi = $rekord['uwagi'];
  23.  $data_dodania = $rekord['data_dodania'];
  24.  $data_nagrania = $rekord['data_nagrania'];
  25.  print '<FORM METHOD="POST"> Poprawa rekordu:';
  26.  print '<INPUT TYPE="hidden" NAME="co" VALUE="popraw">';
  27.  print '<INPUT TYPE="hidden" NAME="id" VALUE="'.$id.'"><TABLE>';
  28.  print '<TR><TD>Tytuł:</TD><TD><INPUT TYPE="text" NAME="tytul" VALUE="'.$tytul.'"></TD></TR>';
  29.  print '<TR><TD>Uwagi:</TD><TD><INPUT TYPE="text" NAME="uwagi" VALUE="'.$uwagi.'"></TD></TR>';
  30.  print '<TR><TD>Data dodania:</TD><TD><INPUT TYPE="text" NAME="data_dodania" VALUE="'.$data_dodania.'"></TD></TR>';
  31.  print '<TR><TD>Data nagrania:</TD><TD><INPUT TYPE="text" NAME="data_nagrania" VALUE="'.$data_nagrania.'"></TD></TR>';
  32.  print '</TABLE><INPU TYPE="submit" VALUE="Popraw"></FORM>';
  33.  
  34.  } elseif ($_GET['co'] =='skasuj') {  //usuwanie
  35.  $wynik = mysql_query ("DELETE FROM plyty WHERE id = '".$_GET['id']."'");
  36.  }
  37.  
  38.  $wynik = mysql_query ("SELECT * FROM plyty");
  39.  
  40.  print '<TABLE CELLPADDING=5 BORDER=1>';
  41.  print '<TR><TD><B>Tytuł</B></TD><TD><B>Uwagi</B></TD><TD><B>Data dodania</B></TD><TD><B>Data nagrania</B></TD><TD></TD><TD></TD></TR>';
  42.  
  43.  while ($rekord = mysql_fetch_assoc ($wynik)) {
  44.  $id = $rekord['id'];
  45.  $tytul = $rekord['tytul'];
  46.  $uwagi = $rekord['uwagi'];
  47.  $data_dodania = $rekord['data_dodania'];
  48.  $data_nagrania = $rekord['data_nagrania'];
  49.  
  50.  if (!($_POST['fraza']) || (stristr ($tytul.$uwagi.$data_dodania.$data_nagrania, $_POST['fraza']))) {
  51.  print"<TR><TD>$tytul</TD><TD>$uwagi</TD><TD>$data_dodania</TD><TD>$data_nagrania</TD><TD>";
  52.  print '<A HREF="4-29.php?co=skasuj&id=$id">skasuj</A></TD><TD>';
  53.  print '<A HREF="4-29.php?co=edytuj&id=$id">edytuj</A></TD></TR>';
  54.  }
  55.  }
  56.  print '</TABLE>';
  57.  print '<FORM METHOD="POST">Nowy rekord';
  58.  print '<INPUTE TYPE="hidden" NAME="co" VALUE="dodaj"><TABLE>';
  59.  print '<TR><TD>Tytuł:</TD><TD><INPUT TYPE="text" NAME="tytul"></TD></TR>';
  60.  print '<TR><TD>Uwagi:</TD><TD><INPUT TYPE="text" NAME="uwagi"></TD></TR>';
  61.  print '<TR><TD>Data dodania:</TD><TD><INPUT TYPE="text" NAME="data_dodania"></TD></TR>';
  62.  print '<TR><TD>Data nagrania:</TD><TD><INPUT TYPE="text" NAME="data_nagrania"></TD></TR>';
  63.  print '</TABLE><INPUT TYPE ="submit" VALUE="Dodaj"></FORM>';
  64.  
  65.  ?>
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.