[PHP] Lastigheidje met een Array

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Theske
  • Registratie: Februari 2003
  • Laatst online: 14-05-2017
Goedemorgen,

Ik heb een zoekscript gemaakt waarbij de gebruiker zelf kan kiezen welke velden zij wilt laten weergeven bij de resultaten. Dit gaat allemaal goed, totdat er het veld 'Projectleden' gekozen wordt.
In een andere tabel staat welke projectleden bij een bepaald project horen. Dit kan dus leiden tot meerdere projectleden per project.
Mijn vraag is..... hoe kan ik al deze projectleden weergeven?
Ik heb al een hoop geprobeerd, maar ben er niet echt uitgekomen...
Met het onderstaande script worden wel alle projectleden weergeven, maar dan in elk veld.. wat natuurlijk niet de bedoeling is. Dus als er gekozen is voor projectleden en locatie, wordt er op de plek van de locatie EN op de plek van de projectleden alle projectleden weergegeven.

Weet iemand misschien hier een oplossing voor???
Ik heb de echo's al op verschillende plekken gezet, maar helaas mocht het allemaal niet baten, misschien dat jullie hier wat meer over weten.

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
if (is_array($_POST['veld']))  
{
  foreach ($_POST['veld'] as $key => $value)  
  {
     if ($value = "Projectleden")
     {
     echo "<td>";
                if ($Project_id <> "")
                {
                    $qryProjL= "SELECT * FROM projectleden WHERE [Project-Id] = ".$Project_id;
                    if( $resProjL = odbc_exec($conn, $qryProjL) )
                    {
                      while ($obj = odbc_fetch_array($resProjL))
                      { 
                      $Afkorting = $obj['Afkorting'] ;
                        if ($obj['Afkorting'] == "") 
                            {
                            $Projectleden = $obj['Volledigenaam'];
                            }
                        else
                            {
                                $db1 = "C:\Inetpub\wwwroot\Projectdb\MainDB.mdb";
                                $conn1 = odbc_connect('DRIVER={Microsoft Access Driver (*.mdb)}; DBQ='.$db1, '', '');
                                $qryProjL1= "SELECT * FROM medewerker WHERE afkorting = '".$Afkorting."'";
                                $resProjL1 = odbc_exec($conn1, $qryProjL1);
                                
                                while($obj1 = odbc_fetch_array($resProjL1))
                                 {
                                    echo " $obj1[roepnaam] $obj1[tussenvoegsels] $obj1[naam], ";
                                 }
                            }
                       }
                    } 
                }
        echo "</td>";
        }
    if ($value <> "Projectleden")   
    {
    echo "<td>".$$value."</td>"; 
    }
  }
}

Proud member of the Cosmic Cows


Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

PHP:
1
if ($value = "Projectleden")

dat is fout ;)

gebruik ==
PHP:
1
if ($value == "Projectleden")

Acties:
  • 0 Henk 'm!

  • Theske
  • Registratie: Februari 2003
  • Laatst online: 14-05-2017
:X

Bedankt!!!!
Ik dacht al dat het gewoon iets kleins was, mja.....
Merci! :)

Proud member of the Cosmic Cows


Acties:
  • 0 Henk 'm!

  • Theske
  • Registratie: Februari 2003
  • Laatst online: 14-05-2017
Dan heb ik trouwens nog een vraag.....

Is er een mogelijkheid, door bijvoorbeeld gebruik te maken van de array, om alle al reeds aangevinkte checkboxen bij de weergave van de resultaten ook al standaard aan te vinken. Hierdoor hoeven gebruikers niet steeds weer alles aan te vinken wanneer zij een kleine wijziging willen toepassen aan de zoekcriteria.
Dus als bijvoorbeeld projectleden en locatie bij de druk op de zoekknop zijn aangevinkt, dan wil ik graag dat deze ook direct zijn aangevinkt wanneer er in de tabel ernaast de zoekresultaten worden weergegeven.
Ik hoop dat jullie begrijpen wat ik bedoel en mij ook hiermee nog even kunnen helpen....

Mijn checkboxen zien er als volgt uit
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
           <tr>
            <td> Locatie </td>
            <td>
             <input name="veld[]" type="checkbox" value="Locatie">
            </td>
           </tr>
           <tr>
            <td> Oppervlak </td>
            <td>
            <input name="veld[]" type="checkbox" value="Oppervlak">
            </td>
           </tr>
           <tr>
            <td> Type installatie </td>
            <td>
            <input name="veld[]" type="checkbox" value="InstallatieType">
            </td>
           </tr>
<!-- enzzzz..... -->

Proud member of the Cosmic Cows


Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

gewoon het attribuut 'checked' toevoegen?

[ Voor 57% gewijzigd door Erkens op 13-10-2005 10:43 ]


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 18-09 16:28

Bosmonster

*zucht*

Afhankelijk van of de value voorkomt de checkbox van 'checked' voorzien..

Acties:
  • 0 Henk 'm!

  • Theske
  • Registratie: Februari 2003
  • Laatst online: 14-05-2017
Ja okej.. op die manier.
Jullie bedoelen gewoon bij elke checkbox te controleren of deze waarde voorkomt, als deze voorkomt 'checked' neer te zetten en anders niks.
Deze manier kende ik ook wel, maar ik dacht dat er misschien iets efficientere oplossing zou zijn gezien ik ook al gebruik maak van een array, dat ik deze ook hiervoor kon gebruiken.
Maar er is verder geen andere oplossing dan bij elke checkbox de controle uit te voeren??

Proud member of the Cosmic Cows


Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Ik doe dat soort dingen gewoon in hetzelfde loopje als de output, een andere manier is er eigenlijk niet om het efficienter te doen denk ik zo.

Acties:
  • 0 Henk 'm!

  • Theske
  • Registratie: Februari 2003
  • Laatst online: 14-05-2017
Hoe bedoel je dat? In hetzelfde loopje als de output...
Hoe wil je dat aanpakken dan?
Ik kan bij wijze van spreke wel een variabele stoppen in de loop en die bij de checkbox erin zet, maar je zit natuurlijk met verschillende waardes, dus kan je niet bij elke checkbox gebruik maken van dezelfde variabele.....

Proud member of the Cosmic Cows


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 18-09 16:28

Bosmonster

*zucht*

Je kunt het 'efficienter' genereren door bijvoorbeeld een javascript te genereren die de checkboxes afloopt.

Maar efficiency van de interface gaat dan ten koste van efficiency van de programmeur en das meestal niet zo'n beste ruil.

Acties:
  • 0 Henk 'm!

  • Theske
  • Registratie: Februari 2003
  • Laatst online: 14-05-2017
Okejz!
Nou bedankt iig voor je hulp en moeite!
Ik zal denk ik gewoon per box het maar na gaan lopen..
Bedankt. :)

Proud member of the Cosmic Cows


Acties:
  • 0 Henk 'm!

  • Theske
  • Registratie: Februari 2003
  • Laatst online: 14-05-2017
Voor de belangstellende.......

Het is nu gelukt met:::
PHP:
1
2
3
4
5
6
<?
if(in_array('Locatie', $_POST['veld']))
{
    echo 'checked=checked';
} 
?>

Proud member of the Cosmic Cows

Pagina: 1