Avatar billede limes_planum Praktikant
06. oktober 2004 - 15:57 Der er 4 kommentarer og
1 løsning

Nytildeling af index i db-tabel

<td><?php

//rearranger idx forbehandling
$resulti = mysql_db_query("xxxxx", "SELECT max(idx) FROM sch_po") or die("Unable to select Database");
$max = mysql_result($resulti,0,"max(idx)");

//stien, hvortil filer skal uploades, her et subdir til roden af domænet   
$dist = $_SERVER["DOCUMENT_ROOT"] ."";
$dato_array = getdate();
$dato =$dato_array["year"]."-".$dato_array["mday"]."-".$dato_array["mon"]."  ".$dato_array["hours"].": ".$dato_array["minutes"].":  ".$dato_array["seconds"];


if (isset($_FILES["upfile"])) {

echo"&Oslash;nskede filer til upload:<p>\n";


$antal = 0;

//Find antallet af filer til upload med en for-løkke
for($i = 0; $i < count($_FILES["upfile"]["name"]); $i++) {
    if ($_FILES["upfile"]["name"][$i] !="") {
    //Læg en til $antal for hver fil.
    $antal++;
    if($_FILES["upfile"]["size"][$i]<250000){
        if(is_uploaded_file($_FILES["upfile"]["tmp_name"][$i])) {

    if(move_uploaded_file($_FILES["upfile"]["tmp_name"][$i], $dist . $_FILES["upfile"]["name"][$i])) {

mysql_query("INSERT INTO `sch_po` (`tekst`, `billede`) VALUES ('". $_POST["tekst"][$i] ."', '". $_FILES["upfile"]["name"][$i] ."')") or die (mysql_error());

    //til brug for info om filtyper
    $str1 = $_FILES["upfile"]["name"][$i];
    $str2 = $_FILES["upfile"]["size"][$i];
    $str3 = $_FILES["upfile"]["type"][$i];

    echo "<b>Navn:</b> ". $str1 .", <b> st&oslash;rrelse:</b> ". $str2 ." bytes, <b>filtype:</b> ". $str3 ." Med tekst: ". $_POST["tekst"][$i] ."<br>\n";
    }else{
    echo"Upload mislykkedes desværre!";
    }
      }else{

    echo"Upload var for stor! Max 250 kb";
        }
          }else{

    echo"Upload til serveren skete ikke!";

            }
        }
    }

}


if($antal < 1) { //Hvis der ingen filer er valgt
echo"V&aelig;lg en eller flere filer til upload! <a href=\"upval_po.php\">tilbage</a>";
    }else{
echo"<a href=\"upval_po.php\">tilbage</a>";
    }


if($cyclus < 10 && $cyclus > 0){
mysql_query("UPDATE sch_cyc SET cyc ='$cyclus' WHERE idx = 4");
echo"<br>Cyclus i Kategorien Portræt, er sat til $cyclus";
}else{
echo"Cyclus er sat forkert";
}

//reang idx
$resulti = mysql_db_query("xxxxx", "SELECT max(idx) FROM sch_po") or die("Unable to select Database");
$max2 = mysql_result($resulti,0,"max(idx)");
echo"&max2=$max2";
if($max2>$cyclus){
$mx=$max2-$cyclus+1;
}else{
$mx=1;
}

$y=$mx;
for($i = $max2; $i > $mx; $i--){
$query = "UPDATE sch_po SET idx = $i WHERE idx = $y";
mysql_query("$query");
echo"virker";
$y=$y+1;
}
?>
Problemet er at jeg lige efter at have uploadet nogle fotos gerne vil nytildele idx(index i tabel) til den modsatte værdi af antallet af uploadede fotos.. - derved bliver det nemmere for kunden at uploade fotos, da det tidligere skulle gøres således at det sidste foto i interfacet skulle uploades først, grundet måden det derefter skal hentes på...

Det ser ikke ud som om db's index ændres overhoved'...

Har tidligere sat update-funktionen tidligere i scriptet(inde i selve uploadfunktionen(hentet by the way)), men så er der sket andre underlige ting!
Avatar billede detox Nybegynder
06. oktober 2004 - 16:15 #1
Mit umiddelbare bud vil være at ændre denne forløkke:

for($i = 0; $i < count($_FILES["upfile"]["name"]); $i++) {

til:

for($i = count($_FILES["upfile"]["name"]); $i > 0; $i--) {
Avatar billede detox Nybegynder
06. oktober 2004 - 16:16 #2
Eller:

for($i = count($_FILES["upfile"]["name"])-1; $i >= 0; $i--) {
Avatar billede detox Nybegynder
06. oktober 2004 - 16:18 #3
Det andet med at update et autonummereret felt er ikke sagen ;o)
Avatar billede limes_planum Praktikant
06. oktober 2004 - 18:37 #4
Ja - fandt selv den vinkel i mellemtiden detox - men du får selvfølgelig pointene alligevel.... :-))
Avatar billede limes_planum Praktikant
17. september 2006 - 19:04 #5
Lukker sp. ..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester