Formular php a mysql

Programovacie jazyky, rady, poradňa...
ipm666
Novice
Novice
Príspevky: 3
Registrovaný: 23 apr 2011, 11:13

Formular php a mysql

Príspevok od používateľa ipm666 »

Zdravim.. Dlho som pouzival Access, ale presli sme komplet na linux a nakolko access 2007 nepodporuje datovy export pre klienta v intranete musim to poprerabat do php+mysql, ale mam problem ktory je asi banalny no pre zaciatocnika aj ked pokrocileho dost vazny.... Ide o to ze mam v db 3 tabulky a to zakaznici, zamestnanci a zakazky

Primarna stranka je zakazky kde uz mam rozbehane vkladanie novych a vypis vsetkych zakaziek, ale stale mi tam chyba to najpodstatnejsie a to vybrat z tabulky zakaznikov podla kriteria priezvysko ulica do formulara vstup.

Samotny script na vyber je takyto a funguje:

Kód: Vybrať všetko

<select name="zakaznici">
<?php
  require_once("mysql.php");
  $sql = mysql_query("SELECT priezvisko,ulica FROM zakaznici");
  while ($data = mysql_fetch_array ($sql, MYSQL_BOTH))
  {
   $priezvisko = $data['priezvisko'];
   $ulica = $data['ulica'];
  echo '<option value="'.$priezvisko.'">'.$priezvisko.' '.$ulica.'</option> ';
  }
  ?>
</select>
Problemom ale je ze ak ho chcem zaradit do formulara tak my stale pise chybu v riadku kde je <select name="zakaznici">

Cast tabulky toho zaciatku najdete tu:

Kód: Vybrať všetko

<?php
include("config.php");
$link = mysql_connect($db_server,$db_user,$db_psw) or die($oznam001);
$db=mysql_select_db($db_name,$link) or die($oznam002);

echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"> 
<HTML> 
<HEAD> 
<meta http-equiv=\"Content-type\" content=\"text/html; Charset=Windows-1250\"> 
<TITLE>Zákazky</TITLE> 
<meta http-equiv=\"Content-language\" content=\"sk\"> 
<meta name=\"robots\" content=\"index, follow\"> 
</head> 

<body> 
  
<h1><p align=\"center\">Pridať zákazku do systému.</h1>

<form name=\"formular\" action=\"uloz_zakazku.php\" method=\"post\">
<p align=\"center\">
<table border=\"1\" cellspacing=\"1\" cellpadding=\"2\">

<tr>
<td align=\"right\" width=\"120\"><b>Prijaté dňa:</b></td>
<td align=\"left\" width=\"150\"><input type=\"text\" name=\"prijate\" value=\"\" size=\"20\" maxlength=\"25\" title=\"\" tabindex=\"2\"></td>
</tr>
Lenže akonáhle to upravím takto:

Kód: Vybrať všetko

<h1><p align=\"center\">Pridať zákazku do systému.</h1>

<form name=\"formular\" action=\"uloz_zakazku.php\" method=\"post\">
<p align=\"center\">
<table border=\"1\" cellspacing=\"1\" cellpadding=\"2\">

<tr>
<td align=\"right\" width=\"120\"><b>Zákaznik:</b></td>
<td>
<select name="zakaznici">
<?php
  require_once("mysql.php");
  $sql = mysql_query("SELECT priezvisko,ulica FROM zakaznici");
  while ($data = mysql_fetch_array ($sql, MYSQL_BOTH))
  {
   $priezvisko = $data['priezvisko'];
   $ulica = $data['ulica'];
  echo '<option value="'.$priezvisko.'">'.$priezvisko.' '.$ulica.'</option> ';
  }
  ?>
</select>
</td>
</tr>

<tr>
<td align=\"right\" width=\"120\"><b>Značka:</b></td>
<td align=\"left\" width=\"150\"><input type=\"text\" name=\"znacka\" value=\"\" size=\"20\" maxlength=\"25\" title=\"\" tabindex=\"3\"></td>
</tr>
Tak dostanem hlasku prave na riadok <select name="zakaznici"> v tomto zneni:
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in C:\Program Files\VertrigoServ\www\ipmfirm\zakazky\formular2.php on line 26

Ak dám celý script na rozbaľovací výeber na začiatok stránky tak funguje, ale dáta sa mi pochopiteľne nezapíšu do db zakaziek teda zapisu ale bez udajov zakaznika... Viete mi poradit? nasmerovat?
sharky-no
King
King
Používateľov profilový obrázok
Príspevky: 1681
Registrovaný: 31 okt 2006, 19:53

Re: Formular php a mysql

Príspevok od používateľa sharky-no »

Cele HTML vypisujes cez echo.
teda preto tam mas aj tie uvodozvky s lomitkom. (v selecte nie su)

zmaz echo pred <!DOCTYPE a nahrad ho ukoncovacim znakom php ?>
a uprav cely ten kod tak aby si mal spravne oddelene HTML od php skriptu.

pre nazornost, toto bude bezproblemov fungovat

Kód: Vybrať všetko

<html>
<body>
<div>
Toto je  text vypisany HTML <?php echo "a toto text cez php";?>
</div>
</body>
<html>

ipm666
Novice
Novice
Príspevky: 3
Registrovaný: 23 apr 2011, 11:13

Re: Formular php a mysql

Príspevok od používateľa ipm666 »

Dakaujem uz mi to funguje

Aktualne pole vyberu je:

Kód: Vybrať všetko

<tr>
<td align="right" width="120"><b>Zákazník:</b></td>
<td align="left" width="150"> <select name="zakaznik">
<?php
  $sql = mysql_query("SELECT priezvisko,ulica FROM zakaznici");
  while ($data = mysql_fetch_array ($sql, MYSQL_BOTH))
  {
   $priezvisko = $data['priezvisko'];
   $ulica = $data['ulica'];
  echo '<option value="'.$priezvisko.'">'.$priezvisko.' '.$ulica.'</option> ';
  }
  ?>
</select>
</td>
</tr>
Kde mam chybu? ze to nezapise do db? Prosim o dalsie "nakopnutie" spravnym smerom...
sharky-no
King
King
Používateľov profilový obrázok
Príspevky: 1681
Registrovaný: 31 okt 2006, 19:53

Re: Formular php a mysql

Príspevok od používateľa sharky-no »

skus si to echom 'presvietit' a vlastne odkrokovat, ze kde ti ten skript stopne.

normalne vloz echo do toho skriptu co ti uklada do databazy a sleduj ze ci sa vypise, ak ano, skus ho vlozit do podmienky, ked sa tiez vypise tak chyba bude priamo pri SQL Dotaze, resp. pri jeho vykonavani. ked nie, chyba je vo vstupoch a pod...

nemam tu databazu, a pohladom na kod sa mi tazko lusti ze co tam je zle, skus sam nejak zistit kde to mrzne.
ipm666
Novice
Novice
Príspevky: 3
Registrovaný: 23 apr 2011, 11:13

Re: Formular php a mysql

Príspevok od používateľa ipm666 »

vdaka vsetkym za pomoc, uz funguje vsetko ako ma :) a to hlavne vdaka tomuto foru a jeho clenom... RESPECT

//autoeditácia príspevku (23 Apr 2011, 20:44)
Bohuzial mam dalsi problem.... Urobil som na zaklade ID upravu dat . Zobrazi mi formular iba zakazky s danym ID, ale ak kliknem na Aktualizovat, tak mi stale nechce ulozit update db.. Skriptik mam tento, ale dufam ze je spravny :(

Kód: Vybrať všetko

<?php
require_once("mysql.php");

$id = $_POST['id'];
$priebeh = $_POST['priebeh'];
$stav = $_POST['stav'];
$oznamene = $_POST['oznamene'];
$vydaj = $_POST['vydaj'];

$sql = mysql_query("UPDATE (oznamene,vydaj)  VALUES('$oznamene','$vydaj')");

if($sql){
   echo "Záznam bol úspešne vložený do databázy!";
} else {
   echo "Záznam sa nepodarilo vložiť do databázy!";
}
mysql_close();
?>
Uz som v koncoch a ujo google mi nijaky priklad nenasiel :( tak sa nemam coho chytit. Zeby bol update poli z formulara tak narocny? Viem ze som lama, ale vychadzal som zo skriptu ulozenia new zaznamu... ten funguje
Napísať odpoveď