[php] 1 of twee records wijzigen met 1 knop

Pagina: 1
Acties:

  • pdehoop
  • Registratie: September 1999
  • Laatst online: 04-06-2024
Hallo,

ik zit met hetvolgende probleem.

In een mysql database heb ik een kolom text en een kolom image

Zo ziet het script er ongeveer uit:

$query = mysql_query("select username from users where session='$sessionid'")or die("Error in query");
if(mysql_num_rows($query) == 1){

if($action == "doupdate"){
if ($bestand) {
copy($bestand, "images\\$bestand_name")or die("error");
}else{
$plaatje = "";
}

if($bestand_name != ""){
$queryenter = "image='$bestand_name',";
}
mysql_query("update users set $queryenter text='$text' where session='$sessionid'")or die("Error in query");
print "Gewijzigd.";


Ik heb een formulier met een textarea en een upload box boor een plaatje.

Daaronder staat 1 submitknop, die het stukje script hierboven uitvoert.

Wanneer ik de text wijzig en de textarea van ik een plaatje selecteer, dan wordt het plaatje correct geupload en word de tekst en de bestandsnaam goed aangepast in mysql.

Als ik nu alleen het logo wil veranderen is er niks aan de hand, want bij het laden van de pagina wordt de text en de textarea uit de databse geladen en kun je zelf weer het plaatje bepalen. Beide zijn dus ingevuld en het uploaden een aanpassen van de database werkt prima.

EChter, als ik alleen de textarea aanpas, en geen bestand selecteer, krijg ik een foutmelding dat hij het bestand "none" niet kan vinden.

De oplossing ligt voor de hand, maar hoe de scripting hiervoor werkt weet ik niet.

De bedoeling is alsvolgt.

Wanneer ik alleen de text wijzig en dus geen bestand upload, dan moet de bestandsnaam die al in de database zit niet gewijzigd worden.

De makkelijkste manier lijkt mij om dan via een query de bestandsnaam uit de database te halen als er dus geen bestand wordt geselecteerd en deze bestandsnaam dus opnieuw in de database te zetten.
De record dus in principe overschrijven met hetzelfde gegeven.

Kan iemand mij hierbij helpen?

Ik neem aan dat het iets met if en else is.
en die else zou dan moeten zijn:
wanneer er geen bestand wordt geselecteerd, haal de huidige bestandsnaam uit de database en stop deze eropnieuw in.


Klinkt simpel, maar het lukt mij niet.

Kan iemand helpen?

Thanks!

paul

Verwijderd

if($action == "doupdate")
{
$bestand = $HTTP_POST_FILES['bestand']['tmp_name'];
$bestand_name = $HTTP_POST_FILES['bestand']['name'];

if (file_exists($bestand))
{
copy($bestand, "images\\$bestand_name");
$nieuwbestand = True;
}
else
{
$nieuwbestand = False;
}
}

if ($nieuwbestand)
{
$queryenter = "image='$bestand_name',";
}

mysql_query("update users set $queryenter text='$text' where session='$sessionid'");

  • Tom
  • Registratie: Juni 1999
  • Niet online

Tom

zie lieve adjes