[php]gegevens in dbf-dbase invoeren

Pagina: 1
Acties:

  • shreklich
  • Registratie: Januari 2002
  • Laatst online: 04-03-2025
ben bezig met een een kleine dbase maar door gebrek aan MySQL moet ik het met alleen php werken. (met dbf dbase)
Alleen ik heb een probleem ik heb de volgende code

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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<html>
<body>
<?php
    $dbf = "data.dbf";
    $dba =  array(
              array("nummer", "N" , 5,0), // N betekent nummer
              array("produkt", "C" ,15), // C betekent string
              array("aantal", "N" , 4,0),
              array("opmerking", "C" , 100)
        );


if(!file_exists($dbf))
{
    dbase_create($dbf ,$dba);       //bestand aanmaken
}

else if($verzenden == "toevoegen")
{
    $handle=dbase_open($dbf , 2);
    dbase_add_record($handle, $dba );   //een record met gegevens toevoegen
}

else if($verzenden == "verwijderen")
{
    dbase_open($dbf , 2);
    dbase_delete_record($dba, $recnr);      //record verwijderen
    dbase_pack($dba);           //gegevens definitief verwijderen
}
?>
<b>klik op vernieuwen als de gegevens niet gelijk komen of verdwijnen</b>
<table border=0 width=200>
<form action="dbase.php" method="post">
<tr><td>nummer:</td><td><input type="text" name="dba[0]" size="5"></td></tr>
<tr><td>produkt:</td><td><input type="text" name="dba[1]" size="15"></td></tr>
<tr><td>aantal:</td><td><input type="text" name="dba[2]" size="5"></td></tr>
<tr><td>opmerking:</td><td><input type="text" name="dba[3]" size="50"></td></tr>
<tr><td colspan=2><input type=submit name=verzenden value=toevoegen></td></tr>
</table>

<br>

<b><table border=0 width=400></b>
klik op het nummer om het produkt te verwijderen
<tr><td>nummer</td><td>produkt</td><td>aantal</td><td>opmerking</td></tr>

<?php
dbase_open($dbf , 2);
$recnr=0;
while($recnr < dbase_numrecords($dba))      //aantal records tellen en vergelijken
{
    dbase_get_record( $dba, $recnr); //gegevens uit de database halen
    echo "<tr>";
    echo "<td><a href=dbase.php?verzenden=verwijderen&recnr=". $recnr .">" . $dba[0] . "</a></td>";
    echo "<td>" . $dba[1] . "</td>";
    echo "<td>" . $dba[2] . "</td>";
    echo "<td>" . $dba[3] . "</td>";
    echo "</tr>";
    $recnr++;
}

?>
</table>
</body>
</html>


alleen ik krijg op het moment van versturen de volgende gegevens terug op mijn scherm.
| nummer | produkt | aantal | opmerking |
---------------------------------------
| Array | Array | Array | Array |
---------------------------------------

en wat ik ook verander erin, ik kom er maar niet uit want of
A. ik krijg wat hierboven staat
B. ik krijg niks te zien
C. of ik krijg een foutmelding

Verwijderd

lijkt me een beetje logisch dat je array array array krijgt, want je moet de $dba[1] anders noemen.. en extracten op een of andere manier, maar denk dat ACM hier een betere opmerking voor kan plaatsen..

  • shreklich
  • Registratie: Januari 2002
  • Laatst online: 04-03-2025
bedoel je met $dba[0] de uitvoer of bedoel je iets anders.

want bij de uitvoer werkt het wel want als ik in het bestand kijk dan zie ik ook array staan. het gaat mij om de invoer.

als je wat anders bedoelt dan begrijp ik een beetje wat je bedoelt.

Verwijderd

Lezen :

array dbase_get_record ( int dbase_identifier, int record)

Returns the data from record in an array. The array is indexed starting at 0, and includes an associative member named 'deleted' which is set to 1 if the record has been marked for deletion (see dbase_delete_record().

De functie dbase_get_record geeft een array terug dus :
PHP:
1
2
3
4
$result = dbase_get_record( $dba, $recnr);


echo( $result[1] );

  • shreklich
  • Registratie: Januari 2002
  • Laatst online: 04-03-2025
ja leuk en aardig over de functie dbase_get_record, maar het gaat mij om dbase_add_record.
Die werkt niet en wat ik dus ook probeer het lukt mij niet om de gegevens die ik invoer in mijn browser in het dbf-file te krijgen want wat ik dan krijg te zien in het BESTAND is ook 4 keer Array

  • shreklich
  • Registratie: Januari 2002
  • Laatst online: 04-03-2025
goed ik heb het nu eindelijk goed draaiend

bedankt voor de "vele" replies :)

dr2epacs
je had trouwens ook gelijk maar dat was op het moment niet het probleem wat ik had. _/-\o_

ff de aanpassingen laten zien voor degene die dit probleem misschien ook nog ooit krijgen. en er niet uitkomen :P

PHP:
1
2
3
4
5
6
7
8
9
10
else if($verzenden == "toevoegen")
{
    $dba[0] = $nummer;
    $dba[1] = $produkt;
    $dba[2] = $aantal;
    $dba[3] = $opmerking;

    $handle=dbase_open($dbf , 2);
    dbase_add_record($handle, $dba );   //een record met gegevens toevoegen
}
Pagina: 1