- Home
- Categorie
- Coding e Sistemistica
- PHP
- Novità
-
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
<?phpmysql_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 !
-
Lo script non funziona x due motivi:
- 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".
- 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.
-
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 !
-
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.
-
vedere sotto il msg è stato inserito due volte !
-
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
-
up !