Autor Zpráva
symat
Profil
čau lidi potřebuji pomoct.
Potřebuji udelat php script a nevim si stim rady ! sám jsem se pokoušel tvořit ale bez úspěchu.
potřeboval by jsem aby se mi z databaze vypisovalo třeba jméno do textoveho pole(nebo text area) a po jeho upravení by se uložilo.
Vim že je to asi jednoduche ale ja stim nemužu hnout Jsem začatečnik.
orava
Profil
<?php
mysql_connect("localhost","login","heslo") or die (nepodarilo sa MYSQL_CONNECT);
mysql_select_db("db") or die (nemas tam tu databazu);
$data=mysql_query("SELECT * FROM tabulka");
$pocet=mysql_num_rows($data);

for ($i=0;$i<$pocet;$i++) {
$meno=mysql_result($data,$i,'meno');
?>
<form id="form1" name="form1" method="post" action="<?php $_SERVER["PHP_SELF"] ?>">
<input type="text" name="meno <? echo $i;?>" value="<? echo $meno; ?>"/>
<input type="submit" name="Submit" value="Submit" />
</form>
<?
}
?>

TOTO je na vypis do formularov
orava
Profil
Celkovy php script

<?php
mysql_connect("localhost","login","heslo") or die (nepodarilo sa MYSQL_CONNECT);
mysql_select_db("db") or die (nemas tam tu databazu);
$data=mysql_query("SELECT * FROM tabulka");
$pocet=mysql_num_rows($data);

for ($i=0;$i<$pocet;$i++) {
$meno=mysql_result($data,$i,'meno');
?>
<form id="form1" name="form1" method="post" action="<?php $_SERVER["PHP_SELF"] ?>">
<input type="text" name="meno <? echo $i;?>" value="<? echo $meno; ?>"/>
<input type="submit" name="OK" value="Submit" />
</form>
<?
}

for ($i=0;$i<$pocet;$i++) {
$meno=$_POST["meno<? echo $i ;?>"];
mysql_query("UPDATE tabulka SET meno='$meno' WHERE meno='$meno'");
?>
orava
Profil
a nepojde to! lebo ked zmenis to meno tak tam take uz nebude
symat
Profil
Diky za rady ale když te kod upravim podle sebe tak me to nejde.Píše mi to chybu na řádku kde je </html>


<?php

include ('connect.php'); //pøipojení k databázi

$data=mysql_query("SELECT * FROM kontakty");
$pocet=mysql_num_rows($data);

for ($i=0;$i<$pocet;$i++) {
$meno=mysql_result($data,$i,'nazev');
?>
<form id="form1" name="form1" method="post" action="<?php $_SERVER["PHP_SELF"] ?>">
<input type="text" name="meno <? echo $i;?>" value="<? echo $nazev; ?>"/>
<input type="submit" name="OK" value="Submit" />
</form>
<?
}

for ($i=0;$i<$pocet;$i++) {
$meno=$_POST["nazev<? echo $i ;?>"];
mysql_query("UPDATE kontakty SET meno='$nazev' WHERE meno='$nazev'");
?>
orava
Profil
mas tam preklepy s $nazov a $meno
symat
Profil
No snad jsem to opravil vše ale vysledek je stejný
<?php

include ('connect.php'); //pøipojení k databázi

$data=mysql_query("SELECT * FROM kontakty");
$pocet=mysql_num_rows($data);

for ($i=0;$i<$pocet;$i++) {
$meno=mysql_result($data,$i,'nazev');
?>
<form id="form1" name="form1" method="post" action="<?php $_SERVER["PHP_SELF"] ?>">
<input type="text" name="nazev <? echo $i;?>" value="<? echo $nazev; ?>"/>
<input type="submit" name="OK" value="Submit" />
</form>
<?
}

for ($i=0;$i<$pocet;$i++) {
$nazev=$_POST["nazev<? echo $i ;?>"];
mysql_query("UPDATE kontakty SET nazev='$nazev' WHERE nazev='$nazev'");
?>
VitaZ
Profil
Máš tam hrubou chybu!
Nemůžeš ukončit parsování PHP uprostřed podmínky for, pokračovat chvilku vypisováním HTML a pak se dalším otevřením PHP parsetu pokusit dokončit PHP script.

for ($i=0;$i<$pocet;$i++) {
$meno=mysql_result($data,$i,'nazev');
?>
//// TADY TI PHP NESMÍ KONČIT

<form id="form1" name="form1" method="post" action="<?php $_SERVER["PHP_SELF"] ?>">
<input type="text" name="nazev <? echo $i;?>" value="<? echo $nazev; ?>"/>
<input type="submit" name="OK" value="Submit" />
</form>
<?
} /// Ale až zde!

ten kód formuláře vypiš pomocí echo nebo print v PHP

echo "<form id=\"form1\" name=\"form1\" method=\"post\" action=\"$_SERVER["PHP_SELF"]\">
<input type=\"text\" name=\"nazev $i\" value="\$nazev\" />
<input type=\"submit\" name="\OK\" value=\"Submit\" />
</form>";
Jack Finger
Profil
VitaZ
Ale může. A for není podmínka, ale cyklus.
já bych spíš viděl chybu v tomhle: $nazev=$_POST["nazev<? echo $i ;?>"]; . nemá to být: $nazev=$_POST["nazev".$i]; ?
Jack Finger
Profil
symat
jde ti o jeden záznam z databáze, nebo o všechny záznamy?
symat
Profil
o všechy zaznamy
orava
Profil
VitaZ
mozem si to skoncit kedy chcem! v tom je vyhoda PHP!

symat
nepojde ti to lebo ked nahradis nove meno starym a zmenis meno na nove meno kde meno = nove meno - a to tam nebude
symat
Profil
nepojde ti to

No nepojede :((( a tak muže mi stim nekdo poradit jak to napsat aby to jelo ???? a nemusi se ty formulaře generovat samy.

Naskládal bych si třeba 10x textarea pod sebe Jmeno, Příjmení........ a vše by se tam vypsalo. Po přepsíní by se to zas uložilo.

pls pls ja jsem v koncich
Jack Finger
Profil
zrovna jsem cosi takového dělal, zkus to použít:
<?php
  if(!empty($_POST['field'])){
    foreach($_POST['field'] as $array => $value){
      if(mysql_query("UPDATE `tabulka` SET `title` = '".$value."' WHERE `id` = ".$_POST['fid'][$array]) or die(mysql_error())){
        echo 'arr:'.$array.', val:'.$value.', id:'.$_POST['fid'][$array].'<br />';
      }
    }
  }
  $res = mysql_query("SELECT * FROM `tabulka` ORDER BY id ASC") or die(mysql_error());
?>
<form action="index.php?page=edit" method="post">
  <?php
    $i = 0;
    while($row = mysql_fetch_array($res)){
      echo '
        <input type="hidden" name="fid[]" value="'.$row['id'].'">
        <textarea name="field[]">'.$row['title'].'</textarea>
      ';
      $i++;
    }
  ?>
  <input type="submit" value="Změnit!">
</form>


měníš jenom názvy sloupců a tabulky ve výpisu a dotazech.

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0