Avatar billede stenger Nybegynder
06. september 2006 - 18:17 Der er 7 kommentarer og
1 løsning

Tjekke for tomt felt

Ok...prøver lige igen...

Jeg har flere input bokse. De hedder henholdsvis adv_title_1 og adv_org_1, adv_title_2 og adv_org_2 og så videre op til 5.

Jeg checker om disse bokse har noget indhold gennem en løkke:

$db->query("SELECT * FROM Advisor_Affiliations WHERE AdvisorID = $AdvisorID");   

$no_records_aff = $db->num_rows();
if ($no_records_aff > 0)
{
for ($i=1;$i<=$no_records_aff;$i++)
{
               
$db->next_record();
$AdvisorTitle = $db->f("AdvisorTitle");                   
$AdvisorOrg = $db->f("AdvisorOrg");                   
               
${"adv_title_" . $i} = $AdvisorTitle;
${"adv_org_" . $i} = $AdvisorOrg;

}
}


Det vil sige, at det forskellige input fra 5 bokse ryger ind i én og samme table, nemlig henholdsvis AdvisorTitle og AdvisorOrg.

Spørgsmålet er så... hvordan får jeg lige præcis hentet indholdet ud igen, i deres repektive input bokse?

Senere skal jeg så have skrevet nogle UPDATE sætninger, men det kan vi altid vende tilbage til...

Anyone?
Avatar billede stenger Nybegynder
06. september 2006 - 18:18 #1
Undskyld for den misvisende overskrift...mine tanker var andetstede :)
Avatar billede nielle Nybegynder
06. september 2006 - 18:39 #2
Har du prøvet dette?

<form ...>

<input type="text" name="adv_title_1" value="<?=$adv_title_1?>">
<input type="text" name="adv_org_1" value="<?=$adv_org_1?>">

<input type="text" name="adv_title_2" value="<?=$adv_title_2?>">
<input type="text" name="adv_org_2" value="<?=$adv_org_2?>">

</form>
Avatar billede stenger Nybegynder
06. september 2006 - 18:42 #3
Ja...de har i forvejen forskellige navne og values.

Mit problem er at alle disse informationer, eksempelvis alle titles, bliver gemt i én og samme row, eks. AdvisorTitle. AdvisorTitle indeholder altså værdierne fra 5 forskellige input-bokse. Hvordan henter jeg dataen ud igen, i deres respektive bokse?
Avatar billede nielle Nybegynder
06. september 2006 - 18:48 #4
Ikke helt forstået? Hvad mener du med at de ligger i samme række? Er der ikke en enkelt række pr. adv_title_X og adv_org_X par?
Avatar billede stenger Nybegynder
06. september 2006 - 19:14 #5
Nope... det var også min første tanke, for så ville det nemt kunne lade sig gøre. Men den var úber-programmøren, der bestemmer overordnet, ikke helt være med på. Det er jo også nemt nok for ham, når han ved alt om programmering...

Anyways, adv_title_1, adv_title_2, adv_title_3 og så videre bliver gemt i tabellen Advisor_Affiliations, under rækken AdvisorTitle. Altså alt sammen gemt i ÉN række.

Det samme gør sig gældene for adv_org_1, adv_org_2 og så videre. Ikke noget videre nemt projekt, men når chefen siger gør det på den måde, så...
Avatar billede nielle Nybegynder
06. september 2006 - 19:56 #6
Så bruger du bare explode(", ", $AdvisorTitle) til at udtrække de forskellige elementer:

<?
$AdvisorTitleArr = explode(", ", $AdvisorTitle);
$AdvisorOrgArr = explode(", ", $AdvisorOrg);
?>

<form ...>

<input type="text" name="adv_title_1" value="<?=$AdvisorTitleArr[0]?>">
<input type="text" name="adv_org_1" value="<?=$AdvisorOrgArr[0]?>">

<input type="text" name="adv_title_2" value="<?=$AdvisorTitleArr[1]?>">
<input type="text" name="adv_org_2" value="<?=$AdvisorOrgArr[1]?>">

</form>
Avatar billede stenger Nybegynder
06. september 2006 - 20:33 #7
Ovenstående henter godt nok resultaterne ind i input boksen, men med lidt besvær...

Der bliver stadig kun vist et resultat i det første inputboks-par (adv_title_1 og adv_org_1). Ved brug af din kode (explode) bliver den sidste indtastede værdi vist i de bokse, selvom jeg tastede dem ind i en helt anden boks. De første ting jeg skrev bliver ikke vist nogen steder.

Tror jeg bliver nødt til at gå til Über-programmøren... med mindre nogen kan komme på noget. Smid under alle omstændigheder et svar, for tanken er der :)
Avatar billede nielle Nybegynder
06. september 2006 - 21:47 #8
Grunden til at resultaterne vises i den første, er at der ikke er nogen indikation i den måde de ligger i databasen af hvilket felt de stammede fra.

Uanset om du indtaster "nielle" i det første felt eller det sidste felt, ligger det åbenbart bare som "nielle" i databasen. Hvis man skal kunne skelne mellem om det lå i 1. felt, eller i 5., skulle man kunne se dette i databasen:

"nielle, (tom), (tom), (tom), (tom)" - altså: "nielle, , , , "
"(tom), (tom), (tom), (tom), nielle" - altså: ", , , , nielle"
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
Computerworld tilbyder specialiserede kurser i database-management

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