Avatar billede mpj86 Nybegynder
12. april 2004 - 11:11 Der er 38 kommentarer

id før det bliver lavet?

Hej

Jeg har lavet min hjemmeside sådan så man kan oprette sin scooter i galleriet via php / MySQL men der skal også et billede med. Mit problem er at min uploade kode skal bruge id'et på den scooter der bliver oprettet, men hvordan finder jeg det id, da billedet først skal være uploades før info'en om scooteren bliver lagt ind i db, først når info'en er lag i db, kan jeg se hvad id scooteren har fået, men det id skal jeg bruge når jeg uploader.

Hvordan klare man det problem?
Avatar billede sukos Juniormester
12. april 2004 - 11:16 #1
LAST_INSERT_ID()
Avatar billede mpj86 Nybegynder
12. april 2004 - 11:17 #2
Skal så ikke hedde LAST_INSERT_ID() + 1 ?
Avatar billede krydset Nybegynder
12. april 2004 - 11:20 #3
du kan jo prøve begge ;)
Avatar billede dennismp Nybegynder
12. april 2004 - 11:21 #4
Det kan være lidt farligt at antaget at du får næste ID.. Hvis to brugere udfører scriptet på cirka samme tid, så sikere de begge at få samme id som næste id..

Istedet insert noget i tabellen (måske bare id og andre kendte felter) .. få dit id, brug det og opdater samme tabel igen hvis der skal rettes noget.

Sådan gør jeg. Så lader du mysql dikterer hvilken id du får - og så undgår d u problemer.
Avatar billede mpj86 Nybegynder
12. april 2004 - 11:21 #5
Kan ikke få det til at virke når jeg skriver: $id = LAST_INSERT_ID();
Avatar billede mpj86 Nybegynder
12. april 2004 - 11:26 #6
dennismp: så kan jeg vel bare bruge denne: mysql_insert_id() til at hente id'et med?
Avatar billede dennismp Nybegynder
12. april 2004 - 11:26 #7
mysql_insert_id() hedder php-funktinoen..

Men den returnere altså kun et id, hvis der har været oprettet noget. Dvs du får ikke altid et tal ud.. (se evt php.net/mysql_insert_id)

Du kan select'e den ud
SELECT max(id) FROM tabel;
Avatar billede mpj86 Nybegynder
12. april 2004 - 11:31 #8
Kan man ikke også få problemer med max(id) Hvis to brugere udfører scriptet på cirka samme tid, eller bare 1min efter hvis den ene bruge har problemer med at uploade billedet?
Avatar billede dennismp Nybegynder
12. april 2004 - 11:35 #9
Jow.

Opret en række, få ID'et. Arbejde med den og evt update'e senere hvis det er nødvendigt.

Ellers skal du låse tabellen så andre brugere ikke kan bruge den imens en anden gør. Det vil dog sløve dit system ned hvis du indfører een af gangen (så kan man heller ikke select'e fra tabellen for at se data).
Avatar billede sukos Juniormester
12. april 2004 - 11:35 #10
hmm, ja, kikkede i manualen, og fandt den der LAST_INSERT_ID() men får den ikke til at funke!
Og som dennismp pointere, det er bedre at inserte noget, og derefter bruge det id.
For at være sikker, kan du jo så smide noget unikt med ind i et felt, "session_id() f.eks. det kan jo altid overskrives senere.

Og evt. registrere mysql_insert_id() med sessions.

Men ved sgutte helt...................
Avatar billede mpj86 Nybegynder
12. april 2004 - 11:40 #11
Nu har jeg prøvet mange gang man kan ikke få det til at virke :(

Skal nok hæve pointsne til 100 points hvis der er en der kan hjælpe mig...






Min kode:

<?php
if($_SESSION['logget_ind'] != '1') {
    header('Location: index.php');
}

if($_POST['submit_opret_scooter']) {
$maerke = addslashes($_POST['maerke']);
$model = addslashes($_POST['model']);
$aargang = addslashes($_POST['aargang']);
$bruger_id = $_SESSION['bruger_id'];
$tun = addslashes($_POST['tun']);
$styling = addslashes($_POST['styling']);
$fremtid = addslashes($_POST['fremtid']);
$topfart = addslashes($_POST['topfart']);
$optraek = addslashes($_POST['optraek']);
$hk = addslashes($_POST['hk']);
$bemaerkninger = addslashes($_POST['bemaerkninger']);

if (isset($maerke) && isset($model) && isset($_FILES['upfile'])) {
mysql_query("INSERT INTO galleri_scootere (bruger_id) VALUES ('$bruger_id')") or die (mysql_error());

    $query = mysql_query("SELECT max(id) FROM galleri_scootere") or die (mysql_error());
    $row = mysql_fetch_array($query);
    $id = $row['id'];
    $dist = $_SERVER['DOCUMENT_ROOT']."/gfx/galleri/";
    $resultat = mysql_query("SELECT billede_nr FROM galleri_billede_nr WHERE scooter_id = '$id'") or die (mysql_error());
    $row = mysql_fetch_array($resultat);
    foreach ($_FILES['upfile']['name'] as $name => $value) {
        if ($value) {
            if (!eregi(".jpg$", $value)) {
                echo '<span class="tekst">Ugyldig format.</span><br>';
                exit;
                $pic = 1;
            }
        }
    }
    if ($pic != 1) {
        $i = 0;
        foreach ($_FILES['upfile']['name'] as $name => $value) {
            if ($value) {
                $row['billede_nr']++;
                if (is_uploaded_file($_FILES['upfile']['tmp_name'][$i])) {
                    $files=$id.'_'.$row['billede_nr'].'.jpg';
                   
                    $quality = 75;
                    $big_width = 640;
                    $big_height = 480;
                   
                    $src_img = ImageCreateFromJPEG($_FILES['upfile']['tmp_name'][$i]);
                    $src_width = imagesx($src_img);
                    $src_height = imagesy($src_img);
                    $filinfo = @getimagesize($_FILES['upfile']['tmp_name'][$i]);
                   
                    if ($filinfo[0]>$big_width || $filinfo[1]>$big_height) {
                   
                    if ($src_width<$src_height) {
                    $img[height]    = $big_height;
                    $img[width]    = floor($big_height*$src_width/$src_height);
                    } else {
                    $img[width]    = $big_width;
                    $img[height]    = floor($big_width*$src_height/$src_width);
                    }

                    $nIm = imageCreateTrueColor($img[width],$img[height]);
                    imagecopyresampled($nIm,$src_img,0,0,0,0,$img[width],$img[height],$src_width,$src_height);
                    imageJPEG($nIm,$dist.$files,$quality);
                    imageDestroy($nIm);
                    imagedestroy($src_img); 
                    } else {
                        move_uploaded_file($_FILES['upfile']['tmp_name'][$i], $dist . $files);
                    }                   
                   
                    $files_s=$id.'_'.$row['billede_nr'].'_s.jpg';
                   
                    $quality = 50;
                    $big_width = 100;
                    $big_height = 100;
                   
                    $src_img = ImageCreateFromJPEG($_FILES['upfile']['tmp_name'][$i]);
                    $src_width = imagesx($src_img);
                    $src_height = imagesy($src_img);
                    $filinfo = @getimagesize($_FILES['upfile']['tmp_name'][$i]);
                   
                    if ($src_width<$src_height) {
                    $img[height]    = $big_height;
                    $img[width]    = floor($big_height*$src_width/$src_height);
                    } else {
                    $img[width]    = $big_width;
                    $img[height]    = floor($big_width*$src_height/$src_width);
                    }

                    $nIm = imageCreateTrueColor($img[width],$img[height]);
                    imagecopyresampled($nIm,$src_img,0,0,0,0,$img[width],$img[height],$src_width,$src_height);
                    imageJPEG($nIm,$dist.$files_s,$quality);
                    imageDestroy($nIm);
                    imagedestroy($src_img); 
                   
                    $billede_sti = $_SERVER['DOCUMENT_ROOT']."gfx/galleri/".$files;
                    $billede_sti_s = $_SERVER['DOCUMENT_ROOT']."gfx/galleri/".$files_s;
                    mysql_query("INSERT INTO galleri_billeder (scooter_id,url,filnavn,url_s,filnavn_s) VALUES ('$id','$billede_sti','$files','$billede_sti_s','$files_s')") or die (mysql_error());
                    if($row['billede_nr'] != 1) {
                        mysql_query("UPDATE galleri_billede_nr SET billede_nr = '$row[billede_nr]' WHERE scooter_id = $id") or die(mysql_error());
                    } else {
                        mysql_query("INSERT INTO galleri_billede_nr (scooter_id,billede_nr) VALUES ('$id','$row[billede_nr]')");
                    }
                    $uploadet = '1';
                } else {
                    echo '<span class="tekst">Upload til serveren skete ikke!</span>';
                    exit;
                }
            }
            $i++;
        }
    }

} else {
    echo '<span class="fed_tekst">Du har ikke udfyldt alle felterne med <font color="#FF0000">*</font></span>';
    exit;
}
   
   


if($uploadet == '1') {
$query = mysql_query("SELECT max(id) FROM galleri_scootere") or die (mysql_error());
$row = mysql_fetch_array($query);
$id = $row['id'];
mysql_query("UPDATE scooter SET tun = '$tun', styling ='$styling', fremtid = '$fremtid', topfart = '$topfart', optraek = '$optraek', hk = '$hk', bemaerkninger ='$bemaerkninger' WHERE id = '$id'");
header('Location: index.php?s=galleri_upload_billeder&id='.$id);
}
}
?>


//Her nede er min form
Avatar billede mpj86 Nybegynder
12. april 2004 - 11:42 #12
Når jeg prøver skriver den bare: Du har ikke udfyldt alle felterne med *
Avatar billede dennismp Nybegynder
12. april 2004 - 11:43 #13
sukos:
"For LAST_INSERT_ID(), the most recently generated ID is maintained in the server on a per-connection basis. It will not be changed by another client. It will not even be changed if you update another AUTO_INCREMENT column with a non-magic value (that is, a value that is not NULL and not 0)."

Så hvis du bruger en ny connection, så vil du ikke få hvad du forventer. Den er kun beregnet til at finde sidste id der er oprettet (og normalt har man jo ikke brug for næste id - hvis man bare lidt tager højde for det).

Så for at få den sidste id er det SELECT max(id) FROM tabel;.. Men det er en rigtig skidt løsning :)

Det jeg gør, hvis du ikke har alle oplysninger ved oprettelses-tidsunkt, er at bruge null (eller en anden værdi) som midlertidig værdi.

.. udfør: INSERT INTO tabel(id,et,to,tre,fire) values(null,null,null,null);
.. $id = mysql_insert_id();

.. arbejde

.. UPDATE tabel SET et='1',to='2',tre='3' WHERE id = '$id'";
Avatar billede dennismp Nybegynder
12. april 2004 - 11:45 #14
erstate:
    $query = mysql_query("SELECT max(id) FROM galleri_scootere") or die (mysql_error());
    $row = mysql_fetch_array($query);
    $id = $row['id'];
med
    $id = mysql_insert_id();

hvordan ser din galleri_scootere ud?
Avatar billede mpj86 Nybegynder
12. april 2004 - 11:46 #15
Prøver lige...

Den ser sådan ud:

CREATE TABLE `galleri_scootere` (
  `id` int(11) NOT NULL auto_increment,
  `aktiv` int(1) NOT NULL default '0',
  `maerke` varchar(50) NOT NULL default '',
  `model` varchar(50) NOT NULL default '',
  `aargang` varchar(4) NOT NULL default '',
  `bruger_id` int(11) NOT NULL default '0',
  `dato` datetime NOT NULL default '0000-00-00 00:00:00',
  `tun` longtext NOT NULL,
  `styling` longtext NOT NULL,
  `fremtid` longtext NOT NULL,
  `topfart` varchar(250) NOT NULL default '',
  `optraek` varchar(250) NOT NULL default '',
  `hk` varchar(250) NOT NULL default '',
  `bemaerkninger` longtext NOT NULL,
  PRIMARY KEY  (`id`)
) TYPE=MyISAM ;
Avatar billede mpj86 Nybegynder
12. april 2004 - 11:47 #16
Skal jeg også erstate:
    $query = mysql_query("SELECT max(id) FROM galleri_scootere") or die (mysql_error());
    $row = mysql_fetch_array($query);
    $id = $row['id'];

Med
$id = mysql_insert_id();

Nede ved:

if($uploadet == '1') {
$query = mysql_query("SELECT max(id) FROM galleri_scootere") or die (mysql_error());
$row = mysql_fetch_array($query);
$id = $row['id'];
mysql_query("UPDATE scooter SET tun = '$tun', styling ='$styling', fremtid = '$fremtid', topfart = '$topfart', optraek = '$optraek', hk = '$hk', bemaerkninger ='$bemaerkninger' WHERE id = '$id'");
header('Location: index.php?s=galleri_upload_billeder&id='.$id);
}


?
Avatar billede dennismp Nybegynder
12. april 2004 - 11:48 #17
Du har en masse NOT NULL-felter. Så bliver du nød til at putte noget i de kolonner (0, '' og den slags).

Er der nogen grund til at du ikke kan putte alle data i, ved den første insert?
Avatar billede mpj86 Nybegynder
12. april 2004 - 11:50 #18
Er der nogen grund til at du ikke kan putte alle data i, ved den første insert?

Ja for det skal ikke være muligt for bruger at oprette scooter uden der er blevet uploadet et billede...

Skriv hvis du gerne vil se, med form...
Avatar billede mpj86 Nybegynder
12. april 2004 - 11:54 #19
Har lige prøvet igen men den skriver stadig: Du har ikke udfyldt alle felterne med *
Avatar billede sukos Juniormester
12. april 2004 - 11:54 #20
Lige i det her tilfælde ville jeg helt klart smide session_id() ind i DB hvis jeg skulle få brug for id'et senere.

Men hvorfor ikke først afvikle query når billedet er uploadet?
Avatar billede sukos Juniormester
12. april 2004 - 11:57 #21
if(!isset($pic)) {.............


Men jeg ville ændre e ndel hvis jeg skulle lave det samme
Avatar billede mpj86 Nybegynder
12. april 2004 - 11:58 #22
Lige i det her tilfælde ville jeg helt klart smide session_id() ind i DB hvis jeg skulle få brug for id'et senere....

---

Skal der bare stå: mysql_query("INSERT INTO galleri_scootere (session_id) VALUES ('session_id()')") or die (mysql_error()); ( Eller hvordan? )

---------------------------------------------------

Fordi jeg skal bruge id'et når jeg uploader...

                    $billede_sti = $_SERVER['DOCUMENT_ROOT']."gfx/galleri/".$files;
                    $billede_sti_s = $_SERVER['DOCUMENT_ROOT']."gfx/galleri/".$files_s;
                    mysql_query("INSERT INTO galleri_billeder (scooter_id,url,filnavn,url_s,filnavn_s) VALUES ('$id','$billede_sti','$files','$billede_sti_s','$files_s')") or die (mysql_error());
                    if($row['billede_nr'] != 1) {
                        mysql_query("UPDATE galleri_billede_nr SET billede_nr = '$row[billede_nr]' WHERE scooter_id = $id") or die(mysql_error());
                    } else {
                        mysql_query("INSERT INTO galleri_billede_nr (scooter_id,billede_nr) VALUES ('$id','$row[billede_nr]')");
                    }
Avatar billede mpj86 Nybegynder
12. april 2004 - 12:00 #23
sukos: Men jeg ville ændre en del hvis jeg skulle lave det samme..

Hvor mange points?

Kan godt smide hele koden op med form..
Avatar billede dennismp Nybegynder
12. april 2004 - 12:04 #24
Jeg ville nok gøre det lidt anerledes.. Sådan at du i din loop hvor du bearbejder billeder, nede ved insert, tjekker om det er det første billede - hvis det er, så opretter du scooteren og derefter en række til billedet.

i stil med:

i toppen skriver du
$id = null;


...
                   
                    $billede_sti = $_SERVER['DOCUMENT_ROOT']."gfx/galleri/".$files;
                    $billede_sti_s = $_SERVER['DOCUMENT_ROOT']."gfx/galleri/".$files_s;
                    if( $id === null ) {
                      .. opret scoorter
                      $id = mysql_insert_id();
                    }
                    mysql_query("INSERT INTO galleri_billeder (scooter_id,url,filnavn,url_s,filnavn_s) VALUES ('$id','$billede_sti','$files','$billede_sti_s','$files_s')") or die (mysql_error());

...
Avatar billede mpj86 Nybegynder
12. april 2004 - 12:07 #25
dennismp: Der skal kun uploades 1 billede.


Her er hele koden...




<?php
if($_SESSION['logget_ind'] != '1') {
    header('Location: index.php');
}

if($_POST['submit_opret_scooter']) {
$maerke = addslashes($_POST['maerke']);
$model = addslashes($_POST['model']);
$aargang = addslashes($_POST['aargang']);
$bruger_id = $_SESSION['bruger_id'];
$tun = addslashes($_POST['tun']);
$styling = addslashes($_POST['styling']);
$fremtid = addslashes($_POST['fremtid']);
$topfart = addslashes($_POST['topfart']);
$optraek = addslashes($_POST['optraek']);
$hk = addslashes($_POST['hk']);
$bemaerkninger = addslashes($_POST['bemaerkninger']);

if (isset($maerke) && isset($model) && isset($_FILES['upfile'])) {
mysql_query("INSERT INTO galleri_scootere (maerke,model,aargang,bruger_id,dato,tun,styling,fremtid,topfart,optraek,hk,bemaerkninger) VALUES ('0','0','0','$bruger_id','0','0','0','0','0','0','0','0')");

    $id = mysql_insert_id();
    $dist = $_SERVER['DOCUMENT_ROOT']."/gfx/galleri/";
    $resultat = mysql_query("SELECT billede_nr FROM galleri_billede_nr WHERE scooter_id = '$id'") or die (mysql_error());
    $row = mysql_fetch_array($resultat);
    foreach ($_FILES['upfile']['name'] as $name => $value) {
        if ($value) {
            if (!eregi(".jpg$", $value)) {
                echo '<span class="tekst">Ugyldig format.</span><br>';
                exit;
                $pic = 1;
            }
        }
    }
    if ($pic != 1) {
        $i = 0;
        foreach ($_FILES['upfile']['name'] as $name => $value) {
            if ($value) {
                $row['billede_nr']++;
                if (is_uploaded_file($_FILES['upfile']['tmp_name'][$i])) {
                    $files=$id.'_'.$row['billede_nr'].'.jpg';
                   
                    $quality = 75;
                    $big_width = 640;
                    $big_height = 480;
                   
                    $src_img = ImageCreateFromJPEG($_FILES['upfile']['tmp_name'][$i]);
                    $src_width = imagesx($src_img);
                    $src_height = imagesy($src_img);
                    $filinfo = @getimagesize($_FILES['upfile']['tmp_name'][$i]);
                   
                    if ($filinfo[0]>$big_width || $filinfo[1]>$big_height) {
                   
                    if ($src_width<$src_height) {
                    $img[height]    = $big_height;
                    $img[width]    = floor($big_height*$src_width/$src_height);
                    } else {
                    $img[width]    = $big_width;
                    $img[height]    = floor($big_width*$src_height/$src_width);
                    }

                    $nIm = imageCreateTrueColor($img[width],$img[height]);
                    imagecopyresampled($nIm,$src_img,0,0,0,0,$img[width],$img[height],$src_width,$src_height);
                    imageJPEG($nIm,$dist.$files,$quality);
                    imageDestroy($nIm);
                    imagedestroy($src_img); 
                    } else {
                        move_uploaded_file($_FILES['upfile']['tmp_name'][$i], $dist . $files);
                    }                   
                   
                    $files_s=$id.'_'.$row['billede_nr'].'_s.jpg';
                   
                    $quality = 50;
                    $big_width = 100;
                    $big_height = 100;
                   
                    $src_img = ImageCreateFromJPEG($_FILES['upfile']['tmp_name'][$i]);
                    $src_width = imagesx($src_img);
                    $src_height = imagesy($src_img);
                    $filinfo = @getimagesize($_FILES['upfile']['tmp_name'][$i]);
                   
                    if ($src_width<$src_height) {
                    $img[height]    = $big_height;
                    $img[width]    = floor($big_height*$src_width/$src_height);
                    } else {
                    $img[width]    = $big_width;
                    $img[height]    = floor($big_width*$src_height/$src_width);
                    }

                    $nIm = imageCreateTrueColor($img[width],$img[height]);
                    imagecopyresampled($nIm,$src_img,0,0,0,0,$img[width],$img[height],$src_width,$src_height);
                    imageJPEG($nIm,$dist.$files_s,$quality);
                    imageDestroy($nIm);
                    imagedestroy($src_img); 
                   
                    $billede_sti = $_SERVER['DOCUMENT_ROOT']."gfx/galleri/".$files;
                    $billede_sti_s = $_SERVER['DOCUMENT_ROOT']."gfx/galleri/".$files_s;
                    mysql_query("INSERT INTO galleri_billeder (scooter_id,url,filnavn,url_s,filnavn_s) VALUES ('$id','$billede_sti','$files','$billede_sti_s','$files_s')") or die (mysql_error());
                    if($row['billede_nr'] != 1) {
                        mysql_query("UPDATE galleri_billede_nr SET billede_nr = '$row[billede_nr]' WHERE scooter_id = $id") or die(mysql_error());
                    } else {
                        mysql_query("INSERT INTO galleri_billede_nr (scooter_id,billede_nr) VALUES ('$id','$row[billede_nr]')");
                    }
                    $uploadet = '1';
                } else {
                    echo '<span class="tekst">Upload til serveren skete ikke!</span>';
                    exit;
                }
            }
            $i++;
        }
    }

} else {
    echo '<span class="fed_tekst">Du har ikke udfyldt alle felterne med <font color="#FF0000">*</font></span>';
    exit;
}
   
   


if($uploadet == '1') {
$id = mysql_insert_id();
mysql_query("UPDATE scooter SET tun = '$tun', styling ='$styling', fremtid = '$fremtid', topfart = '$topfart', optraek = '$optraek', hk = '$hk', bemaerkninger ='$bemaerkninger' WHERE id = '$id'");
header('Location: index.php?s=galleri_upload_billeder&id='.$id);
}
}
?>

              <table border="0" width="100%" cellspacing="0" cellpadding="0" class="border" height="512">
                <tr>
                  <td width="100%" class="main_table_moerk" valign="top"><span class="main_overskrift"><center>Opret scooter</center></span></td>
                </tr>
                <tr>
                  <td width="100%" class="main_table_lys" valign="top" height="<?php echo $main_height; ?>">
                  <span class="fed_tekst">Du har mulighed for senere at rette eller tilføje i dine tekster, ved at logge ind på din profil.<br><br>
                    Felter med <font color="#FF0000">*</font> SKAL udfyldes.</span>
                    <form method="POST" action="<?php $_SERVER['PHP_SELF'] ?>">
                  <table border="0" width="530" cellspacing="3" cellpadding="0">
                      <tr>
                        <td width="107"><span class="fed_tekst"><font color="#FF0000">*</font> Mærke:</span></td>
                        <td width="397">
                        <select size="1" name="maerke" class="form_input">
                        <?php
                        $query=mysql_query("SELECT maerke FROM galleri_maerker ORDER BY maerke ASC") or die (mysql_error());
                        echo '<option>-- Vælg Mærke --</option>';
                        while($row = mysql_fetch_array($query))
                        {
                            echo '<option value="'.$row['maerke'].'">'.$row['maerke'].'</option>';
                        }
                        ?>
                        </select>
                        </td>
                      </tr>
                      <tr>
                        <td width="107"><span class="fed_tekst"><font color="#FF0000">*</font> Model:</span></td>
                        <td width="397">
                        <input type="text" name="model" size="65" class="form_input">
                        </td>
                      </tr>
                      <tr>
                        <td width="107"><span class="fed_tekst">Årgang:</span></td>
                        <td width="397">
                        <select name="aargang" class="form_input">
                        <option value=""></option>
                        <option value="1950" >1950</option>
                        <option value="1951" >1951</option>
                        <option value="1952" >1952</option>
                        <option value="1953" >1953</option>
                        <option value="1954" >1954</option>
                        <option value="1955" >1955</option>
                        <option value="1956" >1956</option>
                        <option value="1957" >1957</option>
                        <option value="1958" >1958</option>
                        <option value="1959" >1959</option>
                        <option value="1960" >1960</option>
                        <option value="1961" >1961</option>
                        <option value="1962" >1962</option>
                        <option value="1963" >1963</option>
                        <option value="1964" >1964</option>
                        <option value="1965" >1965</option>
                        <option value="1966" >1966</option>
                        <option value="1967" >1967</option>
                        <option value="1968" >1968</option>
                        <option value="1969" >1969</option>
                        <option value="1970" >1970</option>
                        <option value="1971" >1971</option>
                        <option value="1972" >1972</option>
                        <option value="1973" >1973</option>
                        <option value="1974" >1974</option>
                        <option value="1975" >1975</option>
                        <option value="1976" >1976</option>
                        <option value="1977" >1977</option>
                        <option value="1978" >1978</option>
                        <option value="1979" >1979</option>
                        <option value="1980" >1980</option>
                        <option value="1981" >1981</option>
                        <option value="1982" >1982</option>
                        <option value="1983" >1983</option>
                        <option value="1984" >1984</option>
                        <option value="1985" >1985</option>
                        <option value="1986" >1986</option>
                        <option value="1987" >1987</option>
                        <option value="1988" >1988</option>
                        <option value="1989" >1989</option>
                        <option value="1990" >1990</option>
                        <option value="1991" >1991</option>
                        <option value="1992" >1992</option>
                        <option value="1993" >1993</option>
                        <option value="1994" >1994</option>
                        <option value="1995" >1995</option>
                        <option value="1996" >1996</option>
                        <option value="1997" >1997</option>
                        <option value="1998" >1998</option>
                        <option value="1999" >1999</option>
                        <option value="2000" >2000</option>
                        <option value="2001" >2001</option>
                        <option value="2002" >2002</option>
                        <option value="2003" >2003</option>
                        <option value="2004" >2004</option>
                        </select>
                        </td>
                      </tr>
                      <tr>
                        <td width="107"><span class="fed_tekst">Tun:</span></td>
                        <td width="397">
                        <textarea rows="15" name="tun" cols="75" class="form_textarea"></textarea>
                        </td>
                      </tr>
                      <tr>
                        <td width="107"><span class="fed_tekst">Styling:</span></td>
                        <td width="397">
                        <textarea rows="15" name="styling" cols="75" class="form_textarea"></textarea>
                        </td>
                      </tr>
                      <tr>
                        <td width="107"><span class="fed_tekst">Fremtid:</span></td>
                        <td width="397">
                        <textarea rows="15" name="fremtid" cols="75" class="form_textarea"></textarea>
                        </td>
                      </tr>
                      <tr>
                        <td width="107"><span class="fed_tekst">Topfart:</span></td>
                        <td width="397">
                        <input type="text" name="topfart" size="65" class="form_input">
                        </td>
                      </tr>
                      <tr>
                        <td width="107"><span class="fed_tekst">Optræk:</span></td>
                        <td width="397"><input type="text" name="optraek" size="65" class="form_input"></td>
                      </tr>
                      <tr>
                        <td width="107"><span class="fed_tekst">Hestekræfter:</span></td>
                        <td width="397">
                        <input type="text" name="hk" size="65" class="form_input">
                        </td>
                      </tr>
                      <tr>
                        <td width="107"><span class="fed_tekst">Bemærkninger:</span></td>
                        <td width="397">
                        <textarea rows="15" name="bemaerkninger" cols="75" class="form_textarea"></textarea>
                        </td>
                      </tr>
                      <tr>
                        <td width="107"><span class="fed_tekst"><font color="#FF0000">*</font> Billede:</span></td>
                        <td width="397">
                        <input name="upfile[]" type="file" size="50" class="form_input"><br><span class="tekst">(<font color="#FF0000">Kun JPG/JPEG/jpg/jpeg format</font>)</span>
                        </td>
                      </tr>
                    </table>
                    <span class="tekst">Du har mulighed for senere at tilføje op til ialt 25 billeder af samme scooter.</span><br><br>
                    <input type="submit" value="Opret scooteren" Class="Submitknap" name="submit_opret_scooter"><span class="fed_tekst">(Tryk venligst kun en gang!)<br>
                    Det kan tage et par minutter før scooteren er oprettet.</span>
                    </form>
                </td>
                </tr>
              </table>
Avatar billede dennismp Nybegynder
12. april 2004 - 12:07 #26
.. Jeg tror jeg trækker mig og tager et bad, så vi ikke forvirrere mpj86 unødigt :-)
Avatar billede mpj86 Nybegynder
12. april 2004 - 12:08 #27
Her er mine tabller så i kan se hvordan de arbejder sammen:


CREATE TABLE `brugere` (
  `id` int(11) NOT NULL auto_increment,
  `aktiv` int(1) NOT NULL default '0',
  `ip` varchar(150) NOT NULL default '',
  `brugernavn` varchar(100) NOT NULL default '',
  `adgangskode` varchar(200) NOT NULL default '',
  `email` varchar(150) NOT NULL default '',
  `dato` datetime NOT NULL default '0000-00-00 00:00:00',
  `icq` varchar(50) NOT NULL default '',
  `msn` varchar(150) NOT NULL default '',
  `hjemmeside` varchar(200) NOT NULL default '',
  `fri_tekst` longtext NOT NULL,
  `signatur` longtext NOT NULL,
  `vis_email` int(1) NOT NULL default '0',
  `sidste_aktivitet` datetime NOT NULL default '0000-00-00 00:00:00',
  `billede` varchar(100) NOT NULL default '',
  PRIMARY KEY  (`id`)
) TYPE=MyISAM;

# --------------------------------------------------------

#
# Struktur dump for tabellen `galleri_billede_nr`
#

CREATE TABLE `galleri_billede_nr` (
  `id` int(11) NOT NULL auto_increment,
  `scooter_id` int(11) NOT NULL default '0',
  `billede_nr` int(11) NOT NULL default '0',
  PRIMARY KEY  (`id`)
) TYPE=MyISAM;

# --------------------------------------------------------

#
# Struktur dump for tabellen `galleri_billeder`
#

CREATE TABLE `galleri_billeder` (
  `id` int(11) NOT NULL auto_increment,
  `scooter_id` int(11) NOT NULL default '0',
  `filnavn` varchar(50) NOT NULL default '',
  `filnavn_s` varchar(50) NOT NULL default '',
  `url_s` varchar(250) NOT NULL default '',
  `url` varchar(250) NOT NULL default '',
  `beskrivelse` longtext NOT NULL,
  PRIMARY KEY  (`id`)
) TYPE=MyISAM;

# --------------------------------------------------------

#
# Struktur dump for tabellen `galleri_maerker`
#

CREATE TABLE `galleri_maerker` (
  `id` int(11) NOT NULL auto_increment,
  `maerke` varchar(50) NOT NULL default '',
  PRIMARY KEY  (`id`)
) TYPE=MyISAM;

# --------------------------------------------------------

#
# Struktur dump for tabellen `galleri_scootere`
#

CREATE TABLE `galleri_scootere` (
  `id` int(11) NOT NULL auto_increment,
  `aktiv` int(1) NOT NULL default '0',
  `maerke` varchar(50) NOT NULL default '',
  `model` varchar(50) NOT NULL default '',
  `aargang` varchar(4) NOT NULL default '',
  `bruger_id` int(11) NOT NULL default '0',
  `dato` datetime NOT NULL default '0000-00-00 00:00:00',
  `tun` longtext NOT NULL,
  `styling` longtext NOT NULL,
  `fremtid` longtext NOT NULL,
  `topfart` varchar(250) NOT NULL default '',
  `optraek` varchar(250) NOT NULL default '',
  `hk` varchar(250) NOT NULL default '',
  `bemaerkninger` longtext NOT NULL,
  PRIMARY KEY  (`id`)
) TYPE=MyISAM;
Avatar billede sukos Juniormester
12. april 2004 - 12:24 #28
hmm, præcis hvad er det du gerne vil?

Hvis man er logget ind, kan man uploade et billede, og samtidig skrive om mærke model m.m.

Og du har så et galleri hvor den enkeltes brugers billeder bliver vist?
Avatar billede mpj86 Nybegynder
12. april 2004 - 12:26 #29
Jeg er lige kommet på en ide, jeg kan bare oprette scooteren i db hvor jeg sætter aktiv til 0, når det er gjort så bliver brugeren send videre til galleri_upload_billeder&id='.$id hvor han så kan uploade hans billede og der køre jeg en update så aktiv bliver ændret til 1.

Så de idioter som opretter uden at uploade nogen billeder, kan jeg bare i admin delen, vise en liste over alle scooter hvor aktiv er 0 og dem kan jeg så slette.

I hele galleriet bliver kun scootere med aktiv 1 udskrevet..

Hvad synes i om den ide?
Avatar billede mpj86 Nybegynder
12. april 2004 - 12:29 #30
sukos: hmm, præcis hvad er det du gerne vil?

At lave et galleri som her: http://www.scootergalleri.dk
Avatar billede sukos Juniormester
12. april 2004 - 12:30 #31
Jeg vil mene:
først upload billede, og smid navn på billede og bruger ind.
Og derefter skrive noget om hvad og hvordan.

I table galleri_scootere ville jeg lægge alle filnavne ind under en kolonne, adskilt af et komma
Avatar billede sukos Juniormester
12. april 2004 - 12:32 #32
hmm, ja, det med senest viste billede m.m. kræver jo lidt mere end et array i en kolonne! :O)
Avatar billede mpj86 Nybegynder
12. april 2004 - 12:33 #33
sukos: 12/04-2004 12:30:11

Det vil blive for svært for når man har oprettet scooteren har man mulighed for at slette, upload og rette billederne..
Avatar billede sukos Juniormester
12. april 2004 - 12:37 #34
hmm, ja, jeg tror nu osse lige jeg skal ha' et bad! :O)

Men til dit spm:

mysql_query("INSERT INTO `table` (`ref`) VALUES (´". session_id() ."`);

når du senere vil opdatere data, kan du opdatere ud fra session_id()

hmm, tror det skal være et langt bad! (vaske forvirringen af!) :O]
Avatar billede mpj86 Nybegynder
12. april 2004 - 12:39 #35
Ok skriv når du har tid igen..

Så jeg kan få løst mit problem ;)
Avatar billede sukos Juniormester
12. april 2004 - 15:34 #36
Jeg tror sgutte jeg bliver "klar" du. Der er for meget at blive "klar" til! :O)
Avatar billede mpj86 Nybegynder
12. april 2004 - 16:34 #37
Kan du så ikke fortælle mig, hvorfor du synes jeg skal lave det sådan som du skriv kl: 12/04-2004 12:37:50

Tror du ikke mit forslag er hurtiger og nemmere at lave?

Jeg er lige kommet på en ide, jeg kan bare oprette scooteren i db hvor jeg sætter aktiv til 0, når det er gjort så bliver brugeren send videre til galleri_upload_billeder&id='.$id hvor han så kan uploade hans billede og der køre jeg en update så aktiv bliver ændret til 1.

Så de idioter som opretter uden at uploade nogen billeder, kan jeg bare i admin delen, vise en liste over alle scooter hvor aktiv er 0 og dem kan jeg så slette.

I hele galleriet bliver kun scootere med aktiv 1 udskrevet..

Hvad synes i om den ide?
Avatar billede sukos Juniormester
12. april 2004 - 16:45 #38
Jeg skriver ikke at "jeg synes" 12.37:50 :O)

Men jeg ville da lade dem uploade først, og derefter uploade flere, samt sørge for at felter til billedet er udfyldt, førend det overhovedet bliver vist på siden.
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