• User

    Novità

    ciao ragazzi,

    sono alle prime armi e mi sto esercitando un po' col php e mysql !
    ho creato un form che prende dei dati e li inserisce in un database...fin qui credo sia tutto corretto ....
    ....lo scopo che mi sono posto per esercitarmi è quello di creare un campo di news aggiornabile...ma non mi riesce!

    file: create_news.php
    <?php

    mysql_connect("localhost","root","") or
    die("Could not connect to database");
    mysql_select_db("news") or
    die("Could not select the database");
    $azione = $_POST['azione'];
    $news = $_POST['news'];
    if($azione=="inserisci")
    {
    $query="UPDATE notizie SET testo='$news'";
    mysql_query($query) or die (mysql_error());
    echo "Elemento news aggiornato ! ! !";
    }
    ?>

    file new_news.php
    ...
    <form method=post action="create_news.php" enctype="multipart/form-data">
    <table>
    <tr>
    <td width="79" height="101" valign="top">News >> </td>
    <td width="375" valign="top"><textarea cols=60 rows=6 name=news></textarea></td>
    </tr>
    </table>
    <input type=submit name=azione value="inserisci">
    <input type=reset name=reset value="annulla">
    </form>

    file notizie.php (file in cui viene ricapitolato il tutto)
    ....
    mysql_connect("localhost","root","") or
    die("Could not connect to database");
    mysql_select_db("news") or
    die("Could not select the database");
    <table><tr><td>NOTIZIE:
    <?php
    $result = mysql_query ("SELECT testo FROM notizie");
    $total = mysql_num_rows($result);
    if ($total) {
    while($row = mysql_fetch_array($result)) {
    echo $row[0];
    }
    }
    else{
    echo "Nessuna news";
    }
    ?></td></tr></table>
    ....

    grazie a quanti mi aiuteranno...e buone feste !


  • Super User

    Lo script non funziona x due motivi:

    1. create_news.php essendo separato da new_news.php non conosce le variabili di quest'ultimo ($_POST['azione'],$_POST['news']) e quindi non può utilizzarle.
      Per risolvere prova ad esempio a stabilire una sessione contenente i suddetti dati in notizie.php.
      2)La query $query="UPDATE notizie SET testo='$news'"; è errata perchè mysql nn sa quale record deve modificare.
      Pertanto devi aggiungere un WHERE testo= "testo della news da modificare".

  • User

    scusa perchè dici che non le conosce? le variabili le passo via POST !

    se io voglio modificare completamente il contenuto del campo? voglio praticamente sovrascrivere il suo contenuto...come risolvo?

    grazie !


  • Super User

    Ah,scusa,avevo interpretato male il collegamento tra gli scripts.
    Per sovrascrivere un record fai cm ti ho detto:
    $query="UPDATE notizie SET testo='$news'" WHERE testo='vecchiotesto';
    Naturalmente devi sostituire "vecchiotesto" 😉
    Se non aggiungi WHERE lo script nn funziona. 🙂


  • User

    vedere sotto il msg è stato inserito due volte !


  • User

    ho aggiunto where in questo modo

    $query="UPDATE notizie SET testo='$news' WHERE ID=1";

    ma se dopo chiedo
    $modificate=mysql_affected_rows();
    echo ("<br><br>$modificate");

    mi stampa

    0

    ?????????????????????????
    questo significa che c'è qualcosa che nn va....come mai?
    come posso risolvere?

    GRAZIE


  • User

    up !

    🙂