webForumDet fria alternativet

Skicka resultat till divtagg i htmlsida

PHPur PHP

8 svar · 641 visningar · startad av emton

emtonMedlem sedan juni 200589 inlägg
#1

Jag har en php-sida där man kan uppdatera lite information om man är inloggad. När man loggat in visas information och bilder i en divtagg på första sidan som är en html-sida. När man klickar på en bild kommer man till en php-sida där man kan uppdatera informationen. När man sen klickar på uppdatera så vill jag att sidan med den uppdaterade informationen och bilden visas i div-taggen på html-sidan igen. Hur gör jag då? Hoppas någon förstår min något röriga beskrivning :OO. Har skrivit en kommentar nere i php-scriptet.

function visaBilder () {
	echo "<p><h2>V&auml;lkommen till mitt bildgalleri.</h2> Vill du &auml;ndra p&aring; n&aring;gon bildtext g&aring;r det bra genom att klicka p&aring; bilden.</p>";
	
	require_once ("databas.inc");
	
	$sql = "SELECT * FROM bilder;";
	
	$sql_result = mysql_query ($sql) or die ("Query error.");
	
	echo "<form action =\"andra.php\" method=\"post\">";
	echo "<table border=\"1\" cellpadding=\"10\">";
	echo "<tr><th>id</th><th>Beskrivning</th><th>Information</th><th>Bild</th></tr>";
	
	 while ($row = mysql_fetch_assoc ($sql_result)) {
            echo "<tr>";
            echo "<td>" . $row['id'] . "</td>";
            echo "<td>" . $row['description'] . "</td>";
            echo "<td>" . $row['information'] . "</td>";
            echo "<td><a href='andra.php?vill_editera=1&bild=" . $row['id'] . "'><img src='" . $row['picture'] . "'/></a></td>";
            echo "</tr>";
    }  

	echo "</table>";
	echo "<input type=\"hidden\" name=\"vill_editera\" value=\"1\" />";
	echo "</form>";
}
	
function editeraBild ($attEditera) {
	require_once ("databas.inc");

	$sql = "SELECT * FROM bilder WHERE id=\"" . $attEditera . "\";";

	$sql_result = mysql_query ($sql) or die (mysql_error());

if (!$sql_result)
{
    echo "Could not successfully run query ($sql) from DB: " . mysql_error();
    exit;
}

    $row = mysql_fetch_assoc ($sql_result) or die (mysql_error());  

	
	echo "<form action=\"andra.php\" method=\"post\">";
	echo "<table border=\"0\" cellpadding=\"3\">";
	echo "<tr><td>Beskrivning</td> <td><input type=\"text\" name=\"description\" value=\"" . $row['description'] . "\" /></td></tr>";
	echo "</table>";
	echo "<input type=\"hidden\" name=\"bild\" value=\"" . $attEditera . "\" />";
	echo "<input type=\"hidden\" name=\"har_editerat\" value=\"1\" />";
	echo "<input type=\"submit\" value=\"KLAR\" />";
	echo "</form>";		
}
function gorEditering ($attEditera) {
	require_once ("databas.inc");

	$description			= htmlentities ($_POST['description']);
	
	$sql = "UPDATE bilder SET " .
		"description=\"" . $description . "\" WHERE id=\"" . $attEditera . "\";";
		
	$sql_result = mysql_query ($sql) or die ("Query Error.");
	echo "<p>Bildtexten har &auml;ndrats</p>";
}

if ($_REQUEST['vill_editera'] == "1") {
    
    $_REQUEST['vill_editera'] = 0;

    $attEditera = intval ($_GET['bild']);

    editeraBild ($attEditera);
}  

else if ($_REQUEST['har_editerat'] == "1") {
    
    $_REQUEST['har_editerat'] = 0;

    $attEditera = intval ($_POST['bild']);
    gorEditering ($attEditera);
	header("Location: andra.php"); // denna sida ska hamna i divtaggen på html-sidan
}  

else
	visaBilder ();
?>
noshorninMedlem sedan aug. 2008816 inlägg
#2

För att kunna inkludera php filer måste filen du inkluderar ifrån också vara php fil. Sen är det bara att skriva:

<? 
   include ('phpfilename.php'); 
?>
liljaMedlem sedan juli 20041 183 inlägg
#3

Hmm, det handlar bara om en php-sida? Stämmer det?

I sådana fall är det bara att lada om sidan eller anropa visaBilder();

emtonMedlem sedan juni 200589 inlägg
#4

lilja skrev:

Hmm, det handlar bara om en php-sida? Stämmer det?

I sådana fall är det bara att lada om sidan eller anropa visaBilder();

Det är ajax som jag ska komma fram till. Har ett vanligt inloggningsformulär i html på första sidan och en divtagg för resultat. När man loggat in så kommer den sidan jag la in ovan att visas i resultatdiven. När jag sen klickar på en bild kommer det upp en möjlighet att ändra bildtexten. När man gjort det och klickar på klar så ska man komma tillbaka och landa i resultatdiven igen där allt visas. Har även ett javascript. Får inte till kopplingar så att det funkar. Uppdateringen funkar fint men jag får inte det uppdaterade resultatet att hamna i divtaggen utan det kommer upp som en egen sida.

tantenMedlem sedan nov. 20051 596 inlägg
#5

Och sidan resultatet ska skrivas ut i heter andra.php?

emtonMedlem sedan juni 200589 inlägg
#6

tanten skrev:

Och sidan resultatet ska skrivas ut i heter andra.php?

Nä, andra.php ska landa i resultatdiven på sidan index.php :)

tantenMedlem sedan nov. 20051 596 inlägg
#7

Ändra header till index.php och se om det blir rätt då.

GunnarDMedlem sedan juni 20014 290 inlägg
#8

Använd AJAX och ta bort header raden. Förslagsvis något färdigt framework som jQuery som underlättar betydligt.

Eftersom det som andra.php skriver ut skall hamna i en div så andra.php bara generera den html kod som skall infogas i div'en.

emtonMedlem sedan juni 200589 inlägg
#9

GunnarD skrev:

Använd AJAX och ta bort header raden. Förslagsvis något färdigt framework som jQuery som underlättar betydligt.

Eftersom det som andra.php skriver ut skall hamna i en div så andra.php bara generera den html kod som skall infogas i div'en.

Tack ska kolla på detta och prova.

128 ms totalt · 3 externa anrop · v20260731065814-full.363dfaf6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)