Avatar billede freakk Nybegynder
27. august 2006 - 14:50 Der er 27 kommentarer og
1 løsning

visning og oprettelse af annoncer

Jeg er ved at rode med en hjemmeside, hvor det skal være muligt for ADMIN at oprette annoncer med billeder og tekst..

Som skal kunne sorteres i kategori, pris, og søge funktion..

Håber der er en der kan hjælpe mig?
Avatar billede jakobdo Ekspert
27. august 2006 - 16:01 #1
Hvad skal du have hjælp til?
At lave det hele, eller hvordan du selv skal gribe det an?
Eller hjælp til at lappe fordækket på din cykel? :o)
Avatar billede freakk Nybegynder
27. august 2006 - 16:12 #2
hehe.. cyklen er ik flad *G*

Men har brug for hjælp til at lave det mere eller mindre fra bunden..
eller et færdig script... ;-)
Avatar billede jakobdo Ekspert
27. august 2006 - 16:44 #3
Kan du noget kode selv?
Avatar billede freakk Nybegynder
27. august 2006 - 16:54 #4
jeg kan lidt.. men kun det grundliggende :(

er SLET ikke inde i SQL, og alt det "vilde" ii php...
så det er begrænset
Avatar billede jakobdo Ekspert
27. august 2006 - 17:23 #5
Jeg er desværre ikke lige klar på at udvikle sådan et system i dag. Men det kan jo være der er andre som er.
Evt. kan du også prøve at oprette det under OPGAVER, da det lyder til du skal have det hele.
Avatar billede freakk Nybegynder
27. august 2006 - 17:32 #6
det er okay.. hvornår kan du evt. have tid hvis du skal  / vil hjælpe ?
Avatar billede jakobdo Ekspert
27. august 2006 - 17:51 #7
Du kan evt. kigge på dette

<?php
//http://www.eksperten.dk/spm/717954

require('connect.php');

//MYSQLDUMP
/************************************************************\
* CREATE TABLE tbl_717954 (                                  *
*  id int(10) unsigned NOT NULL auto_increment,            *
*  header varchar(255) NOT NULL default '',                *
*  news text collate latin1_danish_ci NOT NULL,            *
*  picture varchar(255) NOT NULL default '',                *
*  alignment varchar(6) NOT NULL default '',                *
*  created datetime NOT NULL default '0000-00-00 00:00:00', *
*  PRIMARY KEY  (id)                                        *
* ) ENGINE=MyISAM;                                          *
\************************************************************/

//CONFIG
$curDir    = getcwd();
$uploadDir = '/upload/'; //Husk CHMOD 777
$uploadPic = array('jpg','gif','png','bmp');

//Er overskrift og nyheden skrevet?
if(!empty($_POST['header']) && !empty($_POST['news']))
{
        //SQL hack
        $sqlFields = '';
        $sqlValues = '';

        //Vi tjekker variabler.
        $header = mysql_real_escape_string(strip_tags($_POST['header']));
        $news  = mysql_real_escape_string(strip_tags($_POST['news']));
        $align  = strtolower(mysql_real_escape_string($_POST['alignment']));

        //Har vi en fil?
        if($_FILES['picture']['size']>0 && preg_match('/left|right/', $align))
        {
                //Hvilken filtype?
                $ext = strtolower(end(explode('.',$_FILES['picture']['name'])));

                //Er det en godkendt filtype?
                if(in_array($ext,$uploadPic))
                {
                        //Vi laver et unikt navn.
                        $uploadFile = $curDir . $uploadDir . md5(uniqid(rand(), true)) . '.' . $ext;

                        //Går upload godt?
                        if(move_uploaded_file($_FILES['picture']['tmp_name'],$uploadFile))
                        {
                                $sqlFields = ',picture,alignment';
                                $sqlValues = ",'".basename($uploadFile)."','".$align."'";
                        }
                }
        }

        //Så skyder vi vores SQL af.
        $sql = "INSERT INTO tbl_717954(id, header, news " . $sqlFields . ", created) VALUES('','".$header."','".$news."' " . $sqlValues . ",NOW())";
        mysql_query($sql) or die(mysql_error());
}

echo '<table>' . "\n";
echo '<form action="'.$_SERVER['PHP_SELF'].'" method="post" enctype="multipart/form-data">' . "\n";
echo '<tr><td>Overskrift:</td><td><input type="text" name="header"></td></tr>' . "\n";
echo '<tr><td>Nyhed:</td><td><textarea name="news" cols="10" rows="5"></textarea></td></tr>' . "\n";
echo '<tr><td>Billede:</td><td><input type="file" name="picture"></td></tr>' . "\n";
echo '<tr><td>Placering:</td><td><select name="alignment"><option>Left</option><option>Right</option></select></td></tr>' . "\n";
echo '<tr><td colspan="2"><input type="submit" name="createNews" value="Opret Nyhed"></td></tr>' . "\n";
echo '</form>' . "\n";
echo '<table>' . "\n";

$query = mysql_query('SELECT * FROM tbl_717954 ORDER BY created');
if(mysql_num_rows($query)>0)
{
        while($row = mysql_fetch_assoc($query))
        {
                echo '<h5>' . stripslashes($row['header']) . '</h5>' . "\n";
                echo '<p>' . "\n";
                if(!empty($row['picture']))
                {
                        echo '<img style="float:'.$row['alignment'].';" src="./upload/' . $row['picture'] . '" />' . "\n";
                }
                echo stripslashes($row['news']) . '</p><div style="clear: both;">&nbsp;</div>' . "\n";
        }
}

?>
Avatar billede freakk Nybegynder
27. august 2006 - 18:09 #8
Fejl

SQL-forespørgsel : 

CREATE TABLE tbl_717954(

id int( 10 ) unsigned NOT NULL AUTO_INCREMENT ,
header varchar( 255 ) NOT NULL default '',
news text COLLATE latin1_danish_ci NOT NULL ,
picture varchar( 255 ) NOT NULL default '',
alignment varchar( 6 ) NOT NULL default '',
created datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY ( id )
)ENGINE = MYISAM

MySQL returnerede:


#1064 - You have an error in your SQL syntax.  Check the manual that corresponds to your MySQL server version for the right syntax to use near 'COLLATE latin1_danish_ci NOT  NULL ,
picture varchar( 255  )  N
Avatar billede jakobdo Ekspert
27. august 2006 - 19:41 #9
Ret:
news text COLLATE latin1_danish_ci NOT NULL ,
til:
news text NOT NULL ,
Avatar billede freakk Nybegynder
27. august 2006 - 19:59 #10
super.. så blev den da lagt ind ;)

men æhm - spørger sikkert dumt nu: hvordan ligger jeg noget ind? og hvad skal jeg gøre? :-S
Avatar billede jakobdo Ekspert
27. august 2006 - 21:03 #11
Lav en fil, der f.eks. hedder:
minFil.php
Åben den i en browser, så skulle du gerne se en form, hvor du kan skrive en nyhed, eller artikel i dit tilfælde.
Avatar billede freakk Nybegynder
27. august 2006 - 21:32 #12
hmm okay.. må jeg lige prøve at kigge på..
men det er noget med en "connect.php" ?
Avatar billede jakobdo Ekspert
27. august 2006 - 21:34 #13
Lav en fil der hedder connect.php (læg den i samme dir som den anden)

SMid dette i:

<?php

$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
  die('Not connected : ' . mysql_error());
}

// make foo the current db
$db_selected = mysql_select_db('foo', $link);
if (!$db_selected) {
  die ('Can\'t use foo : ' . mysql_error());
}
?>


Husk at ret: localhost, mysqluser og mysqlpass, samt foo til dine data.
Avatar billede freakk Nybegynder
27. august 2006 - 21:47 #14
hmm okay.. det er så gjort men den opfører sig mystisk *G*

www.ly-bilcenter.dk/biler.php
Avatar billede jakobdo Ekspert
27. august 2006 - 21:49 #15
Det skyldes der er en fejl i koden.
Og du så samtidig har deaktiveret error_reporting på din server eller webhotel.
Avatar billede freakk Nybegynder
27. august 2006 - 21:52 #16
hmm jeg har ikke sat den til noget som helst :-S
har lige oprettet domænet idag
Avatar billede freakk Nybegynder
27. august 2006 - 22:05 #17
så er error_reporting sat til
Avatar billede jakobdo Ekspert
28. august 2006 - 08:25 #18
Nu får du også en fejl på din side.
Den funktion der, den har jeg ikke i min kode! :o)
Avatar billede freakk Nybegynder
29. august 2006 - 23:00 #19
hmmm nu driller den vist..

og hva er FOO ??
Avatar billede jakobdo Ekspert
30. august 2006 - 07:43 #20
$db_selected = mysql_select_db('foo', $link);
Du skal rette foo til navnet på din database.
Avatar billede freakk Nybegynder
31. august 2006 - 10:31 #21
aaah okay..
dér jeg havde lave en lille fejl :(
hehe.. nu virker det...

men er det ikke muligt at lave en slette funktion til hver enkelt "artikel" !?
evt. og en fast max størrelse på billederne !? 
:-)
Avatar billede jakobdo Ekspert
31. august 2006 - 12:54 #22
Jo, det er det bestemt.
Søg lidt efter resize script.
Og slet, der skal du lave en funktion som lister artikler, og så noget ala:
slet.php?id=(ID FRA DATABASEN)
Avatar billede freakk Nybegynder
31. august 2006 - 13:09 #23
hmm...
jeg er altså riiimelig grøn på dette område:(
kan jeg lokke dig til at smide den ind i de koder du postede tidligere ?
:(
Avatar billede jakobdo Ekspert
31. august 2006 - 13:21 #24
Nej...
Den eneste måde du lære lidt på, er ved at prøve selv.
Hint: Kig på funktionen getimagesize(), imagesx() eller imagesy().
Avatar billede freakk Nybegynder
31. august 2006 - 13:27 #25
mente mht slet funktionen..
rezise har jeg vist gennemskuet...
Avatar billede jakobdo Ekspert
31. august 2006 - 17:14 #26
Desværre ikke. Har ikke lige tiden og overskudet til det nu.
Avatar billede freakk Nybegynder
05. september 2007 - 08:40 #27
lukker..
Avatar billede jakobdo Ekspert
05. september 2007 - 08:48 #28
Jeg synes ikke helt du bare kan lukke alle dine spørgsmål.
Uddeling af lidt point ville måske være på sin plads.
Oprettelse og visning var på plads i den kode du fik af mig.
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