sqlserv query + forloop php.

Status
Niet open voor verdere reacties.

BZilla

Gebruiker
Lid geworden
16 apr 2014
Berichten
170
Goeiemorgen allemaal.

Ik heb een probleempje in mijn code dat ik maar niet opgelost krijg..
Wat er fout gaat is duidelijk en logisch.. De INSTERT INTO regel voert hij sowieso uit.
Dit moet hij alleen doen wanneer $test5 leeg is.

PHP:
$sql2="INSERT INTO database (test1, test2, test3, test4, test5, test6, test7) VALUES " ;
for($i=0; $i < count($test1); $i++)
{
    if ( $test5[$i] == '' ) 
    {
    
    }
    else
    {
        $sql2.="('";
        $sql2.=$test1;
        $sql2.="','";
        $sql2.=$test2[$i];
        $sql2.="','";
        $sql2.=$test3[$i];
        $sql2.="','";
        $sql2.=$test4[$i];
        $sql2.="','";
        $sql2.=$test5[$i];
        $sql2.="','";
        $sql2.=$test6[$i];
        $sql2.="','";
        $sql2.=$test7[$i];
        $sql2.="'),";
    }   
}

Nu dacht ik om dezelfde check als in de forloop boven neer te zetten.

dus:
PHP:
  if ( $test5[$i] == '' ) 
    {
       $sql2="INSERT INTO database (test1, test2, test3, test4, test5, test6, test7) VALUES " ;
    }

Hiermee krijg ik de foutmelding :
Code:
Notice: Undefined offset: 40 in line 705
if ( $requestType[$i] == '' )

Iemand enig idee hoe ik ervoor zorg dat als $test5 leeg is ik de INTERT INTO niet uitvoerd?..

Mvg Bzilla
 
Met de empty() methode kunt u kijken of een variabele (zoals de array bijv.) leeg is.


[edit]ps: ik zit op een mobiel dus zie geen code, inhoudelijker dan dit kan ik dus niet reageren :)[/edit]
 
Laatst bewerkt:
Example #2 array_filter() without callback @see php
PHP:
<?php
$entry = array(
             0 => 'foo',
             1 => false,
             2 => -1,
             3 => null,
             4 => ''
          );

print_r(array_filter($entry));
?>
resultaat
Code:
Array
(
    [0] => foo
    [2] => -1
)
 
Laatst bewerkt:
Bedankt voor de reactie beide

kenikavanbis zou je hier wat meer uitleg bij kunnen geven?
 
$entry is een array met waardes als null,'' en false deze waardes worden verwijdert

nu kan je ook via callbackfunctie werken @see http://php.net/array_filter


nu had je ook een for loop waar je beter en foreach had

nu bij een forloop zal indien je een array

$waarde[1] = 'één';
$waarde[5000]='vijfduizen';
bij forloop 5000 effective loops maken
bij foreach gaat hij
2 effective loops maken
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan