id's verwisselen

Status
Niet open voor verdere reacties.

knetter3

Gebruiker
Lid geworden
5 apr 2008
Berichten
56
ben bezig met een CMS, en om de volgorde van de pagina's te veranderen, ik heb dus een menu, met als link bv staat (nu nog met text, later miss met pijltjes)
replace.php?id=2&&action=down of replace.php?id=2&&action=up

dan mijn php-script replace.php:
PHP:
<?php

/**
 * MySQL Config
 */
$dbRoot = "localhost";  // URL naar de server, veelal localhost
$dbUser = "*****"; // Gebruikersnaam
$dbPassword = "*****"; // Wachtwoord
$dbName = "templates"; // Databasenaam

//Verbinding opzetten met server
$dbConnection = mysql_connect($dbRoot, $dbUser, $dbPassword) or die("De verbinding met de server is mislukt");
// Verbinding opzetten met database
$dbSelect = mysql_select_db($dbName, $dbConnection) or die("De verbinding met de database is mislukt");

$id="$_GET[id]";
$replace="$_GET[action]";
$id_down=$id-1;
$id_up=$id+1;

if($replace=="down"){
$place="$id_down";
}
if($replace=="up"){
$place="$id_up";
}

mysql_query("UPDATE `templates`.`template` SET `id` = '$place' WHERE `template`.`id` =$id LIMIT 1 ;");
mysql_query("UPDATE `templates`.`template` SET `id` = '$id' WHERE `template`.`id` =$place LIMIT 1 ;");
header("Refresh: 0; URL=menu.php");

?>

maar als hij teruglink naar menu.php is er niets gebeurd :(
kan iemand mij helpen?
 
Waarom ga je proberen de ID aan te passen. Hoogstwaarschijnlijk ga je proberen om een id die al bestaat te overschrijven. en aangezien een ID meestal unique is mag dit niet.
Kan je geen kolom maken/gebruiken waarop je ga sorteren.
Wat je zou kunnen doen als hij altijd omhoog moet en als bovenste moet eindigen om de current time() te gebruiken. Deze geeft de huidige Unix time aan in seconden na 01-01-1970 (oid).
 
wat je met die current time() wilt snap ik niet (ik hoef niets met tijd). Maar ik heb wel een andere kolom gemaakt (place), en dan sorteer ik de menu's met place. Alleen nu doet hij het helemaal vreemd ???¿¿¿

PHP:
<?php

/**
 * MySQL Config
 */
$dbRoot = "localhost";  // URL naar de server, veelal localhost
$dbUser = "*****"; // Gebruikersnaam
$dbPassword = "*****"; // Wachtwoord
$dbName = "templates"; // Databasenaam

//Verbinding opzetten met server
$dbConnection = mysql_connect($dbRoot, $dbUser, $dbPassword) or die("De verbinding met de server is mislukt");
// Verbinding opzetten met database
$dbSelect = mysql_select_db($dbName, $dbConnection) or die("De verbinding met de database is mislukt");

$idoldplace="$_GET[id]";
$oldplace="$_GET[place]";
$replace="$_GET[action]";

$place_down=$place-1;
$place_up=$place+1;

if($replace=="down"){
$newplace="$place_down";
}
if($replace=="up"){
$newplace="$place_up";
}

$placeQuery= "SELECT id FROM template WHERE place=$newplace";
$placeResult=  mysql_query($placeQuery) or die(mysql_error());
while($placeRow = mysql_fetch_array($placeResult)) {
$idnewplace = $placeRow['id'];
echo "$idnewplace";
}

echo "$idbackplace";
mysql_query("UPDATE `templates`.`template` SET `place` = '$newplace' WHERE `template`.`id` =$idoldplace LIMIT 1 ;");
mysql_query("UPDATE `templates`.`template` SET `place` = '$oldplace' WHERE `template`.`id` =$idnewplace LIMIT 1 ;");
header("refresh: 0; URL=menu.php");

?>

en dan heb ik als link (in een query)
PHP:
echo "
<a href='replace.php?id=$id&&place=$place&&action=down'>down </a>
<a href='replace.php?id=$id&&place=$place&&action=up'>up </a>"
;
 
wat je met die current time() wilt snap ik niet (ik hoef niets met tijd). Maar ik heb wel een andere kolom gemaakt (place), en dan sorteer ik de menu's met place. Alleen nu doet hij het helemaal vreemd ???¿¿¿

PHP:
<?php

/**
 * MySQL Config
 */
$dbRoot = "localhost";  // URL naar de server, veelal localhost
$dbUser = "*****"; // Gebruikersnaam
$dbPassword = "*****"; // Wachtwoord
$dbName = "templates"; // Databasenaam

//Verbinding opzetten met server
$dbConnection = mysql_connect($dbRoot, $dbUser, $dbPassword) or die("De verbinding met de server is mislukt");
// Verbinding opzetten met database
$dbSelect = mysql_select_db($dbName, $dbConnection) or die("De verbinding met de database is mislukt");

$idoldplace="$_GET[id]";
$oldplace="$_GET[place]";
$replace="$_GET[action]";

$place_down=$place-1;
$place_up=$place+1;

if($replace=="down"){
$newplace="$place_down";
}
if($replace=="up"){
$newplace="$place_up";
}

$placeQuery= "SELECT id FROM template WHERE place=$newplace";
$placeResult=  mysql_query($placeQuery) or die(mysql_error());
while($placeRow = mysql_fetch_array($placeResult)) {
$idnewplace = $placeRow['id'];
echo "$idnewplace";
}

echo "$idbackplace";
mysql_query("UPDATE `templates`.`template` SET `place` = '$newplace' WHERE `template`.`id` =$idoldplace LIMIT 1 ;");
mysql_query("UPDATE `templates`.`template` SET `place` = '$oldplace' WHERE `template`.`id` =$idnewplace LIMIT 1 ;");
header("refresh: 0; URL=menu.php");

?>

en dan heb ik als link (in een query)
PHP:
echo "
<a href='replace.php?id=$id&&place=$place&&action=down'>down </a>
<a href='replace.php?id=$id&&place=$place&&action=up'>up </a>"
;

Laat maar, ik heb het al gevonden, bedankt voor je hulp
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan