Gå til innhold

[Løst]Knapp som utfører sql spørring


Anbefalte innlegg

Hei

 

Trenger hjelp og vet ikke hvor jeg skal spørre så legger det her.

 

Har laget en liste over tidspunkt og skal ved hjelp av knapper øke antall med 1 eller senke antallet med 1.

 

Alle opplysningene hentes fra en database og hvis du trykker på legg til tegnet på 06:00 skal raden antall, på 06:00, økes med en og minskes med en hvis du trykker på slett.

 

Vedlagt et eksempel på utseende. Har laget listen i html.

 

Hvordan kan dette gjøres?

 

Takknemlig for alle tips :)

post-90364-1256546704.jpg

Endret av LMarie
Lenke til kommentar
Videoannonse
Annonse

Har tenkt på muligheten til å bruke php men klarer ikke å finne ut hvordan jeg skal avgjøre hvilken av knappene som er trykket på og på hvilken linje (tidspunkt).

 

Koden jeg har så langt er:

 

<?php
koble til database
?>
<html>
<body>
<h5>Test</h5>
<table border= 1 width=100%>
<tr><td><b>Tidspunkt</b></td>
<td><b>Antall local</b></td>
<td><b>Legg til / fjern</b></td>
<td><b>Antall remote</b></td>
<td><b>Legg til / fjern</b></td></tr>
<?php

$sporring1="spørring fra databasen";
$result = mssql_query($sporring1);  		
while($row = mssql_fetch_array($result))
{
	echo "<form action='/index.php/test2' method='POST'>";
 		echo "<tr><td>" . $row["time"] ."</td>";
 		echo "<td>" . $row["local"] ."</td>"; 
 		echo "<td><input type='image' src='/images/apply_f2.png' width= '15' height= '15' alt='Submit' name='submit' value='Submit1'><input type='image' src='/images/cancel_f2.png' width= '15' height= '15' alt='Submit' name='submit' value='Submit2'></td>";
 		echo "<td>" . $row["remote"] ."</td>";
 		echo "<td><input type='image' src='/images/apply_f2.png' width= '15' height= '15' alt='Submit' name='submit' value='Submit3'><input type='image' src='/images/cancel_f2.png' width= '15' height= '15' alt='Submit' name='submit' value='Submit4'></td>";

}


mssql_close($dbhandle);
?>

</td>
</table>
</form>
</center>
</body>
</html>

 

Hvis man nå trykker på en av image knappene. Kan jeg finne ut hvem av de som er trykket på ettersom de har fått forskjellige navn men ikke hvilken linje (tidspunkt de tilhører) så hvordan skal jeg få til det? sånn at jeg vet hvilken linje som skal oppdateres?

Lenke til kommentar

Hei LMarie,

 

du kan gjøre dette på mange måter, her er et eksempel bare med PHP:

 

Kall alle knappene for det samme, i eksemplet: "op". Dette fordi man bare kan trykke en knapp om gangen, også har du en eneste variabel å sjekke for å se om brukeren har trykket på en av knappene.

 

Gi dem en egen verdi for hver linje, samt for hva brukeren gjorde (trykket øke eller minke) og om det var local eller remote.

 

en verdi kan da bli:

 

inc.remote.3 // for å øke verdien til remote på linje 3

dec.local.0 // for å redusere verdien til local på linje 0

 

bruker punktum her for å skille mellom verdiene, det kunne vært hvilket som helst passende tegn.

 

eksempel:

if (isset($_REQUEST['op'])) 
 {
   // One of the buttons was pressed.
   echo "Operation: ${_REQUEST['op']}\n";
   // Assign the values to variables ( eg.: dec.remote.4 )
   // $operation = 'dec' # decrease
   // $location = 'remote' # remote
   // $row = 4 # 4th row. 
   list($operation, $location, $row) = explode('.', $_REQUEST['op']);

   switch($operation) {
   case 'inc':
     // increase value of $location on $row
     echo "increase value of $location on row $row\n";
     break;
   case 'dec':
     // decrease value of $location on $row
     echo "decrease value of $location on row $row\n";
     break;
   }
 }
?>

 

Du må da gjøre en operasjon mot databasen der jeg bare skriver ut "increase ..."

 

I stedet for å bruke bare en teller for hver rad, kan du bruke ID fra databasen hvis du bruker dette. Det gjør det mye enklere å gjøre operasjonen mot rett linje i databasen.

 

skriv gjerne ut $_REQUEST variabelen på siden slik at du enklere kan se om det er noen feil:

 

<pre>
<?php
print_r($_REQUEST);
?>
</pre>

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å
×
×
  • Opprett ny...