Gå til innhold

Problem med inserting fra en drop down list


Anbefalte innlegg

Heisan, prøver å adde en drop down meny til en add news management for å kunne velge section som news'en skal postes i. Men av en eller annen grunn så postes alle alternativene i drop down menyen.

 

her er formet og php koden jeg bruker for å få opp valgene fra section db'en

<form name="news" method="post" action="add_news.php">
Title:<input type="text" name="ntitle" maxlength="255"><br>
Section:<select name="section" id="section" >
<?php
$result = $connector->query('SELECT sid, sname FROM nsection ORDER BY sid');
while ($row = $connector->fetchArray($result)) {
echo '<option value="'.$row['sid'].'">'.$row['sname'].'</option>';
}
?>
</select><br>
News:<textarea name="nnews" cols="50" rows="6" id="nnews"></textarea><br>
<input type="submit" name="PostNews" value="Submit">
<input type="reset" name="reset" value="Clear"></form>

 

håper noen kan hjelpe meg :)

Mvh LateFot

Lenke til kommentar
Videoannonse
Annonse

Skal han bruke samme mysql_fetch_row() må han bruke tall i arrayet, noe han ikke skal. where clause tviler jeg også på at skal brukes så lenge han henter ut navnene, og idene fra en seksjon-tabell. Personlig så tror jeg det er noe feil i klassen som blir brukt, for alt ser helt fint ut ved første overblikk her. Du kan prøve å skrive ut mysql_error(); for å se om det kommer noe feil i spørringen.

Kommer det ikke ut noe data i html-koden i det hele tatt?

Lenke til kommentar

Hei, takk for tilbakemeldingen.

 

ah det stemmer, jeg har gjort en forandring i function fetchArray, har lagt til MYSQL_ASSOC der, skal prøve å sette opp en ren fetch array function og se om det kan løse problemet.

 

Etter at jeg lot være å lagre valuen fra $_POST['sections'] i en variabel kalt $sections og addet $_POST['sections'] til queryen så det ut som den ville inserte navnet på section istedet for id.

Endret av LateFot
Lenke til kommentar

Fant ut at jeg rota litt i stad, litt tidlig på morgenen tydeligvis. Ren fetch_array funksjon er vel ikke spesielt anbefalt, mysql_fetch_assoc skal være raskere når du bruker det på denne måten uansett. Slik jeg har forstått det nå, så blir nyheten fortsatt lagt til flere ganger?

Uansett så kan et være kjekt å lagre seksjonsid'en i nyheten, og kjøre en join når du henter den ut, i tilfelle du vil gjøre forandringer på kategorinavnet senere.

Som jeg skulle skrive, hvis den lagres flere ganger så vil jeg anta at den kjøres i en loop, så da må vel bare flytte den ut av loopen, så skal den bare kjøres en gang.

Lenke til kommentar

altså med denne spørringen:

 

'SELECT sid, sname FROM nsection ORDER BY sid'

 

så henter han ut ALLE verdiene i tabellen som er i feltene sid og sname, sortert etter sid

 

han henter ikke EN rad bare

 

men så ser jeg nå at han retter det opp, og du, det er lov til å gjøre feil før klokken 12 på dagen :p;)

Lenke til kommentar

Takk igjen for tilbakemeldingen.

 

Phun-Key:

Den while loopen som er i formet er bare for å hente de eksisterende seksjonene som allerede er lagret i section tabellen, så da må jeg hente alle radene i tabellen section for etterpå å kjøre echo for å få dem opp i drop down menyen, det er vel strengt tatt nødvendig for å i det hele tatt kunne liste alle seksjonene som er mulig å velge når jeg skal poste nyheter.

 

LoS:

Ja det er når jeg poster nyheter og velger fra drop down menyen en av seksjonene som nyheten skal postes i at nyheten postes flere ganger og da viser samme nyhet i flere forskjellige seksjoner.

 

Men det som holder på å gjøre meg skallet er: hvordan skal jeg kunne få sendt id istedet for navnet til seksjonen gjennom formet slik at den lagrer id til sekjsonen fra sections tabellen i news tabellens section rad?

 

Hehe sry visst dette blir helt surrete ... har styrt så lenge med dette problemet og gjort så mange forandringer at jeg har mista helt tråden.

Lenke til kommentar

News tabellen min er som følger:

 

CREATE TABLE `news` (

`nid` int(10) NOT NULL auto_increment,

`nip` varchar(15) NOT NULL default '',

`ntitle` varchar(255) NOT NULL default '',

`nnews` text NOT NULL,

`section` int(10) default '0',

`ndate` datetime NOT NULL default '0000-00-00 00:00:00',

PRIMARY KEY (`nid`)

 

Section tabellen:

 

CREATE TABLE `nsection` (

`sid` int(10) unsigned NOT NULL auto_increment,

`sname` varchar(255) NOT NULL default '',

`parentid` int(10) default '0',

PRIMARY KEY (`sid`)

Lenke til kommentar

pokker så dum jeg er ... er ingenting galt med det formet, det som er gærnt er at jeg har helt glemt å gå igjennom filen som viser nyhetene, har adda en spørring der som henter alle seksjonene, istedet for den som er postet i news seksjonen :blush: lo0l men takk for hjelpen iallefall :thumbup:

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...