webForumDet fria alternativet

Replikering av tabell samt realtidsuppdat

ASP

6 svar · 320 visningar · startad av McD

Medlem sedan mars 20002 520 inlägg
Frågan#1

Hej igen gubbar...

Har en liten fråga

har ett formulär där jag skriver in information om olika fisketurer jag gör.

Formuläret är uppdelat så här

fisk
bild
subject
meddelande

Det jag nu vill lägga till är flera grejer ibland, det jag tänker på är fisk
information :D

datum
typ
vikt
fångstätt
plats

Databasen jag använder är uppbyggd som ett forum då varje fisk har ett "turid"

Min fråga är jag vet ju inte hur många fiskar jag får dvs hur inskrivningstabellen
ska se ut?

Det jag hade tänkt är att jag skriver in själva turen sen under där så finns det
en dropdown "Antal fiskar?!" med värden 0-15

Väljer jag 12 så ska...

datum
typ
vikt
fångstätt
plats

komma fram 12 ggr och sen när jag trycker på submit läggs allt in i databasen...
dvs en realtidsuppdatering av formuläret hur ska detta gå till? Måste jag lägga in
"turinformationen" i sessioner och sedan göra en vanlg if satts eller kan man på något
sätt få en tabell att replikeras automatiskt ett visst antal ggr...?

  1. Realtidsuppdateringen hur ska den gå till?
  2. Replikeringen av fälten på inskrivningssidan?
Medlem sedan nov. 20014 054 inlägg
#2

Kanske kan lösas med javascript! Men är ingen haj på det!

Medlem sedan mars 20002 520 inlägg
#3

Har som sagt var inte själv någon aning! :(

Någon annan måste ju stött på detta tidigare...

Känns lite dummt o ha en stor if-satts i koden... och mcyket onödigt som kanske alrig kommer visas samt skriva in i sessioner innan man väljer antal fiskar så att man får fram rätt antal fiskar samt att man då skriver in i fisk, bild, subject och meddelande
från sessionerna innan man slutligen skiver in sakerna i databasen.

Medlem sedan apr. 20031 660 inlägg
#4

HEJ!

Det enkla svaret:
Skapa fisketuren, sedan lägger du till fisk, var för sig, dvs 12ggr om, där du väljer vilken fisketur resp fisk hör till (kan ju vara 'hidden' på något sätt också)

Det svåra svaret:
Jobba med OnChange() på dd'n för fiskarna, där du då visar de 12 lagerna med alla fält som behövs för resp fisk. Alla 15 lagerna skapas när sidan besöks, dvs de läggs i lager som är hidden.
Men, vad händer om du har turen att få 16 fiskar? :) Då måste du justera koden för att få in din bonusfisk.
I det enkla svaret behövs det inte.

Har gjort liknande funktion i ett fall, men kommer inte ihåg var.

Medlem sedan mars 20002 520 inlägg
#5

Okie, men jag vill nog ändå försöka få in allt på en sida... så frågan är om inte en iF satts ändå är lösningen... :/

  1. Skriver in turen
  2. När jag väljer antalfiskar så läggs turens info in i en session genom att jag föflyttas ner i if-sattsen. Rätt antal fiskar visas samt att jag skiver ut sessionen in i fisketuren, så att jag ser det jag skrivit. Alternativt sumpar sessionerna lägger in det i databasen direkt och skiver ut skiten i formuläret (typ en redigering) :P
  3. skiver in fiskarna sort vikt osv (lätt om jag lägger in det första i databasen genom att jag får rätt turid på fiskarna)
  4. skickar in det i databasen.
Medlem sedan apr. 20031 660 inlägg
#6

HEJ!

Letade lite, och fann det jag letade efter. Jag använder detta för att enable n antal textrutor där man fyller i alttexter beroende på hur många (av tre) språk man väljer.

function alttextval(){
	var valt = 0;
	var dk_valt = false;
	var se_valt = false;
	var de_valt = false;
	var sprak = "";
	//skapa variabler beroende på språl-val
	for (i = 0; i < form.tema_id2_sprak_id2.length; i++){
		if (form.tema_id2_sprak_id2.options[i].selected){
			//räkna språket endast en gång
			var tema_sprak_value = form.tema_id2_sprak_id2.options[i].value;
			var sprak_id = tema_sprak_value.slice(tema_sprak_value.lastIndexOf("-")+1);
			if ((!dk_valt) && (sprak_id == 2)){
				valt++
				dk_valt = true;
				sprak += "Danish,"
			}
			else if ((!se_valt) && (sprak_id == 5)){
				valt++
				se_valt = true;
				sprak += "Swedish,"
			}
			else if ((!de_valt) && (sprak_id == 8)){
				valt++
				de_valt = true;
				sprak += "German,"
			}
		}
	}
	//disable alla först, om väljer bort redan vald
	for (i = 2; i > -1; i--){
		form.alttext[i].disabled = true;
		form.alttext[i].value = "[locked]";
		document.all["txt_alttext"][i].innerHTML = "";
	}
	//gör till array
	arr_sprak = new String(sprak).split(",")
	//avmarkera valt antal alttext. valt-1 eftersom valt<=3, och [] är <=2
	for (i = valt - 1; i > -1; i--){
		form.alttext[i].disabled = false;
		form.alttext[i].value = "";
		document.all["txt_alttext"][i].innerHTML = "(" + arr_sprak[i] + ")";
	}
}

Alt-text #1
<input type="text" name="alttext" size="50" value="[locked]" disabled>&nbsp;<span id="txt_alttext"></span>

Alt-text #2
<input type="text" name="alttext" size="50" value="[locked]" disabled>&nbsp;<span id="txt_alttext"></span>

Alt-text #3
<input type="text" name="alttext" size="50" value="[locked]" disabled>&nbsp;<span id="txt_alttext"></span>

Hoppas du får ut något begripligt ur detta. Första if-satsen är inte så viktig för dig, det är de två andra som är intressanta.

Medlem sedan mars 20002 520 inlägg
#7

OJ! Det där ser krångligt ut...

Får sätta mig ner och fundera lite... Tackar så mycket för hjälpen!

264 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)