Topic: MySQL info redagavimas

Sveiki, neiseina pasidaryti skripto kuris redaguotu informacija. Noriu padaryti, kad is select formos paselectinus naujiena > idetu i input'us, ir iseitu redaguot. Nelabai kas gaunas, tai prasau uzveskit ant kelio, aciu.

// Kodo pavizdys.

<?php

// >>>
include("config.php");

error_reporting (E_ALL ^ E_NOTICE);

$link = mysql_connect($host, $user, $pass)or die(mysql_error());
mysql_select_db($db_name)or die(mysql_error());


if(isset($_POST['submit']))
{
$title = mysql_escape_string($_POST['pavadinimas']);
$text1 = mysql_escape_string($_POST['tekstas1']);
$text2 = mysql_escape_string($_POST['tekstas2']);

$sql = "UPDATE `naujienos` SET title = '$title', text1 = '$text1', text2 = '$text2', WHERE id ='$id'";
$sqls = mysql_query($sql);

echo "<b>Aciu!, Naujiena sėkmingai atnaujinta. Palaukite 3s.</b>";
echo "<meta http-equiv=refresh content=3; url=index2.php>";
}

    if (isset($_GET['id'])) {
    $result = "SELECT * FROM `news` WHERE id='$id'";
    $qry = mysql_query($result) or die ("Klaida: $result. " . mysql_error());
    while ($myrow = mysql_fetch_assoc($result))
    {
        $title = $myrow["title"];
        $text1 = $myrow["text1"];
        $text2 = $myrow["text2"];
        }
    }

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="style.css" rel="stylesheet" type="text/css" media="all" />
</head>

<body>
<div id="page">
<div id="header"></div>
<div id="content">
<div id="center">
  <form action="<?php $SERVER_['PHP_SELF'] ?>" method="post">
      <select name="id" class="input"><?
    $link = mysql_connect($host, $user, $pass);
    mysql_select_db($db_name);
    $sql = "SELECT * FROM `news` ORDER BY id";
    $rs = mysql_query($sql);
    $nr = mysql_num_rows($rs);
    for ($i=0; $i<$nr; $i++) {
    $r = mysql_fetch_array($rs);
    echo "<option>".$r["id"]." - ".$r["title"]."</option>";
    }
    ?></select></p>
    <label for=title>Title:</label>
    <p><input name="title" type="text" class="input" size="50" maxlength="255" value="<? echo $title; ?>" /></p>
    <label for=text1>Text1:</label><br />
    <p><textarea name="text1" cols="90" rows="6" class="input"><? echo $text1; ?></textarea></p>
    <label for=text2>Text2:</label><br />
    <p><textarea name="text2" cols="90" rows="10" class="input"><? echo $text2; ?></textarea></p><br />
    <input name="submit" type="submit" class="sumbit" value="Update" />
  </form>
</div>
</div>
</body>
</html>

Re: MySQL info redagavimas

Tai kažkokie griaučiai yra. O kas konkrečiai neveikia, kokias klaidas gauni?

Re: MySQL info redagavimas

minde wrote:

Tai kažkokie griaučiai yra. O kas konkrečiai neveikia, kokias klaidas gauni?

Sveikas, hmm man neišeina pasidaryti, kad išeitų paselectint ir info iš mysql į input'us įdėtų:), ta prasme, kad tam select field'e yra visos naujienos, toliau parinkus įdėtų į input'us. Klaidų jokių nėra, tik nesugalvoju, kaip taip padaryti, o kažko panašaus nerandu, tai va:)

Re: MySQL info redagavimas

value="$paselectinta_info[]" ?

Re: MySQL info redagavimas

qwertyuiop wrote:

value="$paselectinta_info[]" ?

?, gal galėtum plačiau paaiškinti kaip tai panaudoti?

Re: MySQL info redagavimas

dom wrote:

Sveikas, hmm man neišeina pasidaryti, kad išeitų paselectint ir info iš mysql į input'us įdėtų:), ta prasme, kad tam select field'e yra visos naujienos, toliau parinkus įdėtų į input'us. Klaidų jokių nėra, tik nesugalvoju, kaip taip padaryti, o kažko panašaus nerandu, tai va:)

Visų pirmą tai bloga idėja yra naudoti dropdown list'ą naujienos pasirinkimui. Tiesiog atsidaros daugiau naujienų susidarys labai ilgas sąrašas. Daug patogiau naudoti paprastą lentelę ir per GET parametrą perduoti redagavimo scriptui ID to įrašo, kurį nori redaguoti.

Redagavimo scripte, gavęs ID, iš duomenų bazės paimi reikiamus redaguoti duomenis ir jais užpildai formą. Submit'inus formą atnaujinį irašą duomenų bazėje (vėl pagal tą patį redaguojamo įrašo ID).

Bandydamas kažką daryti viename faile, kai dar gerai nesuvoki kaip veikia html'as/html formos/php formų apdorojimas/kliento-serverio sistema tik apsunkinsi daro darbą. Bandyk viską daryti nuosekliai, žingsnis po žingsnio, o ne iš karto pasiemus kažkokį tai scriptą, kurį darei ne pats bandyti redaguoti.

Visada skaityk dokumentacijas:
http://www.w3schools.com/
http://www.php.net/manual/en
http://dev.mysql.com/doc
http://www.w3c.org/

Gatavų scriptų/sprendimų čia niekas tau nedarys. Galime tik užvesti ant kelio.

Re: MySQL info redagavimas

labas minde, viskas dabar gerai, pasidariau sąrašą tada per redagavimo skriptą išeina redaguoti... O kaip Jūs išsiverčiate?, nes pvz. sąraše irgi susidarys daug naujienų ...

Re: MySQL info redagavimas

Bet tokį paprastą sąrašą galima puslapiuoti viename puslapyje rodant ribotą naujienų kiekį. Tarkime pirmame puslapyje rodyti naujausius įrašus.