Avatar billede sijmonj Nybegynder
02. december 2008 - 22:32 Der er 29 kommentarer og
1 løsning

Hent information med javascript og ret med php

Hejsa, jeg er virkelig dårlig til javascript, og jeg vil gerne lave en side hvor man kan rette nogen informationer på min hjemmeside, jeg har så lavet en drop down box hvor jeg udtrækker en overskrift fra min tabel fra databasen, når jeg så vælger en overskrift i min dropdown vil jeg gerne have at informationen bliver smidt ud i nogen input boxe / textarena boxe lige med det samme..

Det er så det jeg har prøvet, men den smider kun information i den første input boxe, og ikke noget i den anden, er der en som kan se problemet?


her er min kode



// Connect til databasen
include("../../connection/config.php");

// Få fat i alle rækker fra 'table'
$query = mysql_query("SELECT * FROM koder");
while($row = mysql_fetch_assoc($query)) {
$list[] = $row;
}
?>
<script type="text/javascript">
//Dropdown box kode
function changeInput(value) {
document.getElementById("someInput").value = value;
}
window.onload = function() {
document.getElementById('quickselect').onchange = function() {
changeInput(this.options[this.selectedIndex].value);
}
}
</script>
</head>
<body>
<form action="java script:void(0);" method="get">
<div>
<select id="quickselect">
<?php foreach($list as $row): ?>
<option value="<?php echo $row['kode_navn']; ?>"><?php echo $row['beskrivelse']; ?></option>
<?php endforeach; ?>
</select>
<input type="text" id="someInput" />
<input type="text" id="someInput" />
<input type="text" id="someInput" />
</div>
</form>

og kan i forklar mig lidt hvordan jeg gør når jeg så skal rette koden? vil gerne have at når man så trykker på en submit knap så skal den vise præcis det man har rettet

Håber i forstår hvad jeg mener
Tak på forhånd (:
Avatar billede jensgram Nybegynder
02. december 2008 - 22:47 #1
Jeg forstår det på ingen måde, men ét er sikkert: ID-felter er unikke, så tre gange "someInput" er noget lort :)
Avatar billede sijmonj Nybegynder
02. december 2008 - 22:52 #2
Hvordan får jeg så indholdet fra de 3-4 rækker i min database ud ?
Avatar billede jensgram Nybegynder
02. december 2008 - 23:09 #3
Ja det er jeg ikke klar over - ville blot påpege en grundlæggende fejl.
Avatar billede sijmonj Nybegynder
02. december 2008 - 23:45 #4
Nåå okay øv :/
Avatar billede jakobdo Ekspert
03. december 2008 - 11:43 #5
ajax...
Avatar billede olebole Juniormester
03. december 2008 - 18:00 #6
<ole>

Ajax er en skidt idé, hvis man ikke er virkelig stærk i JavaScript, DOM, CSS og HTML. Jeg ville nok foreslå, at man reloader siden, og lader PHP indkrive valgene  =)

/mvh
</bole>
Avatar billede sijmonj Nybegynder
03. december 2008 - 18:14 #7
Skal kun bruge javascript (er jeg ret sikker på), men der er ikke nogen som kan klare hvordan jeg får værdi'erne smidt ud i 3-4 forskellige input boxe?
Avatar billede olebole Juniormester
03. december 2008 - 18:19 #8
Uanset, hvad du føler dig sikker på, så skal du bruge PHP, hvis det ikke kun er overskriften, du skal have overført til tekstfeltet.

Du kan kun bruge JavaScript til dine options indhold og/eller value. Du kan ikke bruge JS til at behandle data, der ligger i din database ... det kræver samspil med PHP
Avatar billede sijmonj Nybegynder
03. december 2008 - 18:37 #9
Jah ved godt jeg skal bruge PHP :), jeg er okay god til PHP, men mangler bare at få smidt inholdet fra mine rækker ud i nogen input boxe, sån set det jeg mangler :P
Avatar billede olebole Juniormester
03. december 2008 - 19:45 #10
Læser du mon overhovedet, hvad jeg skriver?
Avatar billede jensgram Nybegynder
04. december 2008 - 11:43 #11
olebole> :)
Avatar billede sijmonj Nybegynder
04. december 2008 - 14:44 #12
jeg ved godt jeg ikke kan bruge JS til at behandle data, jeg skal bare kunne vælge en overskrift i min drop down liste, når jeg har valgt en overskrift skal den hente informationerne fra den tabel hvor overskriften er i og smide det ind i nogen input boxe
Avatar billede jensgram Nybegynder
04. december 2008 - 14:55 #13
Min manglende forståelse for problemstilling kan gøres mere konkret:

"hente informationerne (a) fra den tabel (b) hvor overskriften (c) er i og smide det ind i nogen input boxe (d)"

a) Hvilke informationer? Hvad hedder felterne?
b) Er der flere tabeller?
c) Er den unik? I hvilken tabel?
d) Jf. pkt. a).

Så har jeg MÅSKE en chance for at udtale mig om noget som helst.
Avatar billede jakobdo Ekspert
04. december 2008 - 14:55 #14
Så laver du følgende:

side 1:
Lav en dropdown med overskrifter i en <select><option> dropdown boks.

Post disse data til side 2.

side 2:
Hent info fra tabel, som matcher overskrift.
Vis data i input felter via: <input type="text" name="noget" value="$DATA_FRA_DB">
Avatar billede sijmonj Nybegynder
04. december 2008 - 15:10 #15
min tabel hedder 'koder'

og sådan her ser mine rækker ud

  `id` int(11) NOT NULL auto_increment,
  `koden` longtext NOT NULL,
  `beskrivelse` longtext NOT NULL,
  `kode_navn` varchar(90) NOT NULL default '',
  `kode_type` varchar(90) NOT NULL default '',
  `brugernavn` varchar(90) NOT NULL default 'Ukendt',
  PRIMARY KEY  (`id`)

der er kun 1 tabel
og jeg skal kun udtrække information om "koden" "beskrivelse" "kode_navn" "kode_type"
Avatar billede jensgram Nybegynder
04. december 2008 - 15:29 #16
Så gør som jakobdo skriver:

side 1:
<option value="ID">BESKRIVELSE</option>
...


side 2:
Hent data for id = ID og sæt som value i input-felter.
Avatar billede jakobdo Ekspert
04. december 2008 - 15:31 #17
Test noget ala :

<?php
//Forbind til MYSQL

function {
    $output = '<select name="koden" size="1">';
    $query = mysql_query("SELECT `id`,`koden` FROM `koder` ORDER BY `id`");
    if(mysql_num_rows($query)>0){
        while($row = mysql_fetch_assoc($query)){
            $output .= '<option value="'.$row['id'].'">'.$row['koden'].'</option>';
        }
    }else{
        $output .= '<option>Ingen data</option>';
    }
    $output .= '</select>';
    return $output;
}

if(isset($_POST['koden']) && is_numeric($_POST['koden'])){
    $id = intval($_POST['koden']);
    $query = mysql_query("SELECT * FROM `koder` WHERE `id` = $id LIMIT 1");
    if(mysql_num_rows($query)==1){
        $row = mysql_fetch_assoc($query);
        echo '<form action="" method="post">' . "\r\n";
        echo 'Koden: <input type="text" name="koden" value="<?=$row['koden'];?>" /><br />' . "\r\n";
        echo 'Beskrivelse: <input type="text" name="beskrivelse" value="<?=$row['beskrivelse'];?>" /><br />' . "\r\n";
        echo 'Kode navn: <input type="text" name="kode_navn" value="<?=$row['kode_navn'];?>" /><br />' . "\r\n";
        echo 'Kode type: <input type="text" name="kode_type" value="<?=$row['kode_type'];?>" /><br />' . "\r\n";
        echo 'Brugernavn: <input type="text" name="brugernavn" value="<?=$row['brugernavn'];?>" /><br />' . "\r\n";
        echo '<input type="submit" name="step2" value="Gem data" />' . "\r\n";
        echo '</form>' . "\r\n";
    }else{
        echo 'Data ikke fundet';
    }
}else{
    echo '<form action="" method="post">' . "\r\n";
    echo 'Overskrift: <?=printSelectKoden();?><br />' . "\r\n";
    echo '<input type="submit" name="step1" value="Hent data" />' . "\r\n";
    echo '</form>' . "\r\n";
}
?>
Avatar billede jakobdo Ekspert
04. december 2008 - 15:31 #18
function {
skal rettes til:
function printSelectKoden() {
Avatar billede sijmonj Nybegynder
04. december 2008 - 15:59 #19
kan ikke få det til at virke :/,
Avatar billede jakobdo Ekspert
04. december 2008 - 16:07 #20
Så har jeg jo nok lavet en fejl...
Avatar billede jensgram Nybegynder
04. december 2008 - 18:07 #21
-    echo 'Overskrift: <?=printSelectKoden();?><br />' . "\r\n";
+    echo 'Overskrift: ' . printSelectKoden() . '<br />' . "\r\n";

Er ihvertfald én :)
Avatar billede jakobdo Ekspert
04. december 2008 - 18:50 #22
Og den går selvfølgelig igen hele vejen igennem koden. :o)
Avatar billede jensgram Nybegynder
04. december 2008 - 18:57 #23
Naturligvis :)
Avatar billede sijmonj Nybegynder
04. december 2008 - 19:05 #24
kan ikke lige se hvad der skal rettes her

        echo 'Koden: <input type="text" name="koden" value="<?=$row['koden'];?>" /><br />' . "\r\n";
        echo 'Beskrivelse: <input type="text" name="beskrivelse" value="<?=$row['beskrivelse'];?>" /><br />' . "\r\n";
        echo 'Kode navn: <input type="text" name="kode_navn" value="<?=$row['kode_navn'];?>" /><br />' . "\r\n";
        echo 'Kode type: <input type="text" name="kode_type" value="<?=$row['kode_type'];?>" /><br />' . "\r\n";
        echo 'Brugernavn: <input type="text" name="brugernavn" value="<?=$row['brugernavn'];?>" /><br />' . "\r\n";
        echo '<input type="submit" name="step2" value="Gem data" />' . "\r\n";
        echo '</form>' . "\r\n";

hva er <?= har jeg aldrig set før :P
Avatar billede jakobdo Ekspert
04. december 2008 - 19:45 #25
Simonj: Hvis jeg må citere dig fra dit indlæg: Kommentar: sijmonj - 03/12-2008 18:37:36
Jah ved godt jeg skal bruge PHP :), jeg er okay god til PHP

Hvornår ser vi en test på det ?
Du har ikke vist noget kode endnu.

Betyder det du siger, at du er god til at bruge kode som andre laver til dig ?
For en god ide, er da altid at prøve lidt selv.
Avatar billede sijmonj Nybegynder
04. december 2008 - 20:29 #26
har prøvet, jeg prøvede at lukke PHP og så starte den igen efter echo '</form>' . "\r\n";

jeg er ikke MESTER til php, jeg er okay god, men forstår bare ikke det der <?=

og da javascript er ret nyt for mig så er det en lille smule svært lige at se helt hvad der sker :)

men tusind tak endtil videre
Avatar billede jakobdo Ekspert
04. december 2008 - 20:37 #27
Der er jo ikke noget javascript i det kode der.
Det er ren HTML og php.
Avatar billede sijmonj Nybegynder
25. december 2009 - 22:43 #28
tak for hjælpen smid svar en af jer
Avatar billede jakobdo Ekspert
26. december 2009 - 00:07 #29
Svar!
Avatar billede jakobdo Ekspert
26. december 2009 - 18:12 #30
Takker for point.
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