String vervormen
"01";"Diancte";"van de";"Wouw";"324"
"02";"Diante";"vasn de";"Wasouw";"3tl4"
"03";"Diaaste";"vaasn de";"Wousaw";"23l4"
Maar nu wil ik een loop maakt die deze date als volgt presenteerd:
| Input veld id | Input veld naam | Input veld tussenvoegsel | Input veld achternaam | pass |
Hierna zal men op: correct drukken en moet het met een SQL query wergeschreven worden.
Hoe krijg ik de bovenstaande string vervormd en opgeslagen? Welke functies heb ik nodig en hoe kan ik opweg komen?
Jelmer
laat die variabele is zien
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<? // TEXTAREA DATA ONDER VERDELEN IN "INPUTS"
// data omzetten
$data = $_POST['data'];
echo $data;
?>
// data omzetten
$data = $_POST['data'];
echo $data;
?>
Waarom wil je zo'n moeilijke invoer gaan doen? :s
(export tabel)
Vervolgens wil ik het in input veldjes laten zetten zodat men kan controleren.
Jelmer
24 uur al om?
Baken schreef op 30.05.2007 21:24:
24 uur al om?
Nee.
Je zal het bestand moeten inlezen. Explode op de newline doen dan heb je het in een array. Dan met foreach het array doorlopen en weer een explode op de regel op de ;. Dan heb je weer een array, en daarin staan de juiste waarden die je in een echo kan zetten.
Uhmz kun je iets verder helpen? De string zit al in een variabele.
Dus zo
"01";"Diancte";"van de";"Wouw";"324"
"02";"Diante";"vasn de";"Wasouw";"3tl4"
of zo
"01";"Diancte";"van de";"Wouw";"324""02";"Diante";"vasn de";"Wasouw";"3tl4"
"01";"Diancte";"van de";"Wouw";"324"; "01";"Diancte";"van de";"Wouw";"324";
"01";"Diancte";"van de";"Wouw";"324";
Echter middels nl2br kan natuurlijk een <br /> toegevoegd worden.
Jelmer
Code (php)
1
2
3
4
2
3
4
<?php
$var = '"01";"Diancte";"van de";"Wouw";"324"' . "\n\r" . '"02";"Diante";"vasn de";"Wasouw";"3tl4"';
echo $var;
?>
$var = '"01";"Diancte";"van de";"Wouw";"324"' . "\n\r" . '"02";"Diante";"vasn de";"Wasouw";"3tl4"';
echo $var;
?>
Geeft dit het ongeveer weer wat er in die string staat?
In de string staat:
"01";"Diancte";"van de";"Wouw";"324"; "01";"Diancte";"van de";"Wouw";"324"; "01";"Diancte";"van de";"Wouw";"324";
( indien: echo $data )
indien: echo nl2br($data); en wordt het geprint met enters...
Jelmer
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
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
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
$var = '"01";"Diancte";"van de";"Wouw";"324"' . "\n\r" . '"02";"Diante";"vasn de";"Wasouw";"3tl4"';
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
//
}
else
{
$var = str_replace(array("\r", "\""), "", $var);
$regels = explode("\n", $var);
echo '<form method="post" action="">';
foreach($regels as $key=>$value)
{
$hulparray = explode(';', $value);
echo '<input type="text" name="id[]" value="'. $hulparray[0] . '">
<input type="text" name="naam[]" value="'. $hulparray[1] . '">
<input type="text" name="tussenvoegsel[]" value="'. $hulparray[2] . '">
<input type="text" name="pass[]" value="'. $hulparray[3] . '"><br />';
}
echo '<input type="submit" value="Okee">';
echo '</form>';
}
?>
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
$var = '"01";"Diancte";"van de";"Wouw";"324"' . "\n\r" . '"02";"Diante";"vasn de";"Wasouw";"3tl4"';
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
//
}
else
{
$var = str_replace(array("\r", "\""), "", $var);
$regels = explode("\n", $var);
echo '<form method="post" action="">';
foreach($regels as $key=>$value)
{
$hulparray = explode(';', $value);
echo '<input type="text" name="id[]" value="'. $hulparray[0] . '">
<input type="text" name="naam[]" value="'. $hulparray[1] . '">
<input type="text" name="tussenvoegsel[]" value="'. $hulparray[2] . '">
<input type="text" name="pass[]" value="'. $hulparray[3] . '"><br />';
}
echo '<input type="submit" value="Okee">';
echo '</form>';
}
?>
Kwestie van quotes strippen, regels exploden, en per regel de ; exploden.
In dit voorbeeld klopt het nog, maar als je waarden tussen de quotes met puntkomma's erin, dan moet je uitkijken, en de quotes toch laten staan. Je zou dan zoiets bijvoorbeeld krijgen:
</p>
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
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
<?php
ini_set ( 'display_errors' , 1 ); # 0 = uit, 1 = aan
error_reporting ( E_ALL );
$var = '"01";"Diancte";"van de";"Wouw";"324"'
. "\n\r" .
'"02";"Diante";"van de";"Wasouw";"3tl4"'
. "\n\r" .
'"03";"Pietje";"van de";"Straat";"324"'
;
echo '<p>Gebruikte input:</p><pre>';
var_dump ( $var );
echo '</pre>';
if ( $_SERVER [ 'REQUEST_METHOD' ] == 'POST' )
{
#
}
else
{
$var = str_replace ( "\r" , '' , $var );
$regels = explode ( "\n" , $var );
echo '<form method="post" action="' . $_SERVER [ 'REQUEST_URI' ] . '">';
foreach ( $regels as $value )
{
$hulparray = explode ( ';' , $value );
foreach ( $hulparray as $nr => $hulp )
$hulparray [ $nr ] = substr ( $hulp , 1 , strlen ( $hulp ) - 2 );
echo '
<input type="text" name="id[]" value="' . $hulparray [ 0 ] . '" />
<input type="text" name="naam[]" value="' . $hulparray [ 1 ] . '" />
<input type="text" name="tussenvoegsel[]" value="' . $hulparray [ 2 ] . '" />
<input type="text" name="pass[]" value="' . $hulparray [ 3 ] . '" />
<br />
';
}
echo '<input type="submit" value="Okee" />';
echo '</form>';
}
?>
ini_set ( 'display_errors' , 1 ); # 0 = uit, 1 = aan
error_reporting ( E_ALL );
$var = '"01";"Diancte";"van de";"Wouw";"324"'
. "\n\r" .
'"02";"Diante";"van de";"Wasouw";"3tl4"'
. "\n\r" .
'"03";"Pietje";"van de";"Straat";"324"'
;
echo '<p>Gebruikte input:</p><pre>';
var_dump ( $var );
echo '</pre>';
if ( $_SERVER [ 'REQUEST_METHOD' ] == 'POST' )
{
#
}
else
{
$var = str_replace ( "\r" , '' , $var );
$regels = explode ( "\n" , $var );
echo '<form method="post" action="' . $_SERVER [ 'REQUEST_URI' ] . '">';
foreach ( $regels as $value )
{
$hulparray = explode ( ';' , $value );
foreach ( $hulparray as $nr => $hulp )
$hulparray [ $nr ] = substr ( $hulp , 1 , strlen ( $hulp ) - 2 );
echo '
<input type="text" name="id[]" value="' . $hulparray [ 0 ] . '" />
<input type="text" name="naam[]" value="' . $hulparray [ 1 ] . '" />
<input type="text" name="tussenvoegsel[]" value="' . $hulparray [ 2 ] . '" />
<input type="text" name="pass[]" value="' . $hulparray [ 3 ] . '" />
<br />
';
}
echo '<input type="submit" value="Okee" />';
echo '</form>';
}
?>
Edit:
Trouwens getest en werkend.
Gewijzigd op 01/01/1970 01:00:00 door K i p