Ik heb momenteel een script wat netjes de output weer geeft van een tabel. Echter wil ik deze output hebben tussen 2 komma's. Bijvoorbeeld: 'AA,BB,CC,DD'. Ik bedoel de ' en ' op het begin en einde.

De komma tussen de outputs heb ik al. Mijn script:

-----------
$connection = mysql_connect($db_host, $db_user, $db_pass);
$db = mysql_select_db($db_db, $connection);
$query = "SELECT gsm from users where gsm IS NOT NULL";

$result = mysql_query($query);
while ($row = mysql_fetch_assoc($result)) {
$gsm = $row['gsm'] . ',';
echo ($gsm);
}

------------
Alvast bedankt!
<?php
echo '\'';
while ($row = mysql_fetch_assoc($result)) {
echo $row['gsm'] . ',';
}
echo '\'';
?>
- laat maar -
thnx! dat werkt, echter niet helemaal 100% zoals ik wil.
Ik wil die code meesturen naar een script, om precies te zijn gebruik ik het i.c.m. het mollie sms script.

Deze code wordt erin verwerkt $sms->addRecipients($gsm);
Vandaar dat ik dus dit had gedaan: $gsm = $row['gsm'] . ',';

Hoe kan ik alsnog zorgen dat als ik addRecipients($gsm); doe dat dat hij dan ook de ' ervoor en de ' erachter zet?

[size=xsmall]Toevoeging op 31/01/2011 14:54:42:[/size]

Of nog beter ik denk dat dit het probleem is, als ik deze code gebruik:

------
$connection = mysql_connect($db_host, $db_user, $db_pass);
$db = mysql_select_db($db_db, $connection);
$query = "SELECT gsm from users where gsm IS NOT NULL";
$result = mysql_query($query);

while ($row = mysql_fetch_assoc($result)) {
$gsm = $row['gsm'];
}
echo ($gsm);
------

Dat krijg ik maar 1 output, terwijl er 2 nummers in de tabel staan, how come?
Hi David

Over je eerste vraag: Jij moet de text in een string plaatsen en dan kan via mollie smsen. Dus:


<?
  $gsmString = "'";
  $result = mysql_query($query);
  while ($row = mysql_fetch_assoc($result)) 
  {
    $gsmString .= $row['gsm'];
    if ( !is laatste regel ) // ik kan even niet vinden maar ik ga wel voor je uitzoeken
    {
       $gsmString .= ",";
    }
  }
  $gsmString .= "'";

  // en nu kan je $gsmString naar mollie sturen
?>


Over je tweede vraag:


<?
while ($row = mysql_fetch_assoc($result)) {
$gsm .= $row['gsm'];
}
echo ($gsm);
?>

Ik denk dat je die aanhalingstekens aan het begin en eind helemaal niet nodig hebt.

"Dat krijg ik maar 1 output, terwijl er 2 nummers in de tabel staan, how come?"
Wat bedoel je? Je haalt maar 1 veld op in de database.
@Dashti Salar super thnx!, hoe kan ik nu van die eerste script van je de output laten zien in php zodat ik even kan zien wat hij gaat versturen naar Mollie voordat ik hem meteen laat smsen en het gaat fout :P

[size=xsmall]Toevoeging op 31/01/2011 15:25:04:[/size]

@Dashti, het werkt ik heb '$sms->addRecipients($gsm);' gewoon zo gelaten.

Enige kleine ding waar ik nu nog mee zit is het volgende:

Stel ik heb een tabel met de columns: id, text, gsm, met daarin bv:

ID TEXT GSM
1 test1 31612345678
2 test2 31612345679

Hoe laat ik het script nu naar ID 1 de tekst 'test1' sturen naar het bijbehorende gsm nummer en bij ID 2 de tekst test2 naar bijbehorend nummer?

Ik zat zelf te denken een loop ofzo in php te zetten dat hij in een extra veld een 1 zet en pas stopt met lopen als alles op 1 staat en niet 0.

Dit is mijn huidige mollie script wat trouwens nu wel werkt met het verzenden naar 1 nummer.:
<?php
include("include/config.php");
include("include/connect.php");

$connection = mysql_connect($db_host, $db_user, $db_pass);
$db = mysql_select_db($db_db, $connection);
$query = "SELECT id,text,gsm from users where gsm IS NOT NULL";
$result = mysql_query($query);


while ($row = mysql_fetch_assoc($result)) {
$gsm .= $row['gsm'];
}
?>
<?

require('classes/class.mollie.php');

$sms = new mollie();
$sms->setGateway(1);
$sms->setLogin('xxxx', 'xxxx');
$sms->setOriginator('xxxx');
$sms->addRecipients($gsm);

$sms->sendSMS('test');

if ($sms->getSuccess()) {
echo '<b>OK!</b>';
}
else {
echo '<b>Sending the message has failed!</b><br>
Errorcode: ' . $sms->getResultCode() . '<br>
Errormessage: ' . $sms->getResultMessage();
}
?>
@David

ik heb twee vragen (ik ben niet bekend met mollie sms):

$sms->addRecipients($gsm); <<--- hier komt gsm nummer?

$sms->sendSMS('test'); <<--- en hier de text ?

Klopt :) 'test' heb ik er zelf ff ingezet maar er kan dus ook staan: $sms->sendSMS($message); .

Als het werkt stuur ik je gratis een lekkere fles wijn op haha.
HAHA een fles wijn, daar kan ik geen nee tegen zeggen haha

nou ik heb even aangepast, kijk of dit werkt.

edit:

ik vraag me af hoe gaat dit werken:
$sms->addRecipients( $row['gsm'] );

wordt constant gsm nummer toegevoegd aan het object sms, of vervangt hij de oude. Mocht het niet juist werken dan stuur even class mollie dan ga ik even uitzoeken.


<?php

/**
 * @author phpDesignerTest
 * @copyright 2011
 */

$connection = mysql_connect($db_host, $db_user, $db_pass);
$db         = mysql_select_db($db_db, $connection);
$query      = "SELECT id,text,gsm from users where gsm IS NOT NULL";
$result     = mysql_query($query);
$num_rows   = mysql_num_rows($result);

if ( $num_rows > 0 )
{
    require('classes/class.mollie.php');
    $sms = new mollie();
    $sms->setGateway(1);
    $sms->setLogin('xxxx', 'xxxx');
    $sms->setOriginator('xxxx');
      
    while ($row = mysql_fetch_assoc($result))
    {
        $sms->addRecipients( $row['gsm'] );
        $sms->sendSMS( $row['text'] );
    
        if ($sms->getSuccess()) 
        {
            echo '<b>OK!</b>';
        } else {
            echo '<b>Sending the message has failed!</b><br>';
            echo 'Errorcode: ' . $sms->getResultCode() . '<br>';
            echo 'Errormessage: ' . $sms->getResultMessage();
        }
    }
} else {
    // als je query leeg is, dan moet je andere actie nemen 
}
?>
Ga ik zo even teste, eerst ff op weg naar de winkel thnx alvast!

[size=xsmall]Toevoeging op 01/02/2011 07:27:07:[/size]

@Dashti Salar

Super werkt als een klokje!
Had in de avond wat internet problemen, dus vandaar dat ik nu pas kon testen & reageren.

Nu heb ik nog 1 script cq probleem waar ik zelf niet uit kom. Enige interesse om me hier ook bij te helpen?

Reageren