Avatar billede mosskov Praktikant
10. september 2015 - 12:18 Der er 7 kommentarer og
1 løsning

Hvem vil hjælpe med lidt kode

Mit udtræk ser sådan ud men jeg ønsker at gange (Antal_ialt) med 3,50+15,00
hvordan laver jeg dette ?
<?php
$dbhost = 'xxxxxxx';
$dbuser = 'xxxxxx';
$dbpass = 'xxxxx';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
    die('Could not connect: ' . mysql_error());
}
$sql = 'SELECT navn, adresse,
                telefon, mail,antal_ialt
        FROM ringsalg';

mysql_select_db('xxxxxxxxxx');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
    die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
{
    echo "Navn :{$row['navn']} <br> ".
        "Adresse: {$row['adresse']} <br> ".
        "Telefon: {$row['telefon']} <br> ".
        "Antal : {$row['antal_ialt']} <br> ".
        "--------------------------------<br>";
}
echo "Fetched data successfully\n";
mysql_close($conn);
?>
Avatar billede michael_stim Ekspert
10. september 2015 - 12:42 #1
$sql = 'SELECT navn, adresse,
                telefon, mail,((antal_ialt * 3.5) + 15) AS antal_ialt
        FROM ringsalg';

En måde at göre det på.
Avatar billede olsensweb.dk Ekspert
10. september 2015 - 12:53 #2
kunne også være man skulle lave udregningen inde i loopet,  men jeg forstiller mig der er flere rækker, og det er det totale man skal gange med 3.50 og +15.00, derfor udregning uden for loopet

if(! $retval )
{
    die('Could not get data: ' . mysql_error());
}

$str = "";
$antal_ialt=0;
while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
{
    $str .= "Navn :{$row['navn']} <br> ".
        "Adresse: {$row['adresse']} <br> ".
        "Telefon: {$row['telefon']} <br> ";       
        $antal_ialt += $row['antal_ialt'];
        $str .=  "Antal : {$row['antal_ialt']} <br> ".
        "--------------------------------<br>";       
}
$str .= "total" . ($antal_ialt * 3.50)+15.00;
echo $str;

echo "Fetched data successfully\n";



NB: coden er utested !! gider ikke spilde tid på det gamle API
ref http://php.net/mysql_query
Warning
This extension is deprecated as of PHP 5.5.0, and has been removed as of PHP 7.0.0. Instead, the MySQLi or PDO_MySQL extension should be used. See also MySQL: choosing an API guide and related FAQ for more information.

ver 7 frigives den 2015-11-12 jf https://wiki.php.net/todo/php70#timetable
Avatar billede michael_stim Ekspert
10. september 2015 - 13:13 #3
Hvordan kom du frem til den tolkning ronols? Ikke for at det ikke kan väre rigtigt, bare nysgerrig.
Avatar billede olsensweb.dk Ekspert
10. september 2015 - 13:33 #4
>Hvordan kom du frem til den tolkning ronols?
udlæsser i et loop, og kunne ikke forestille mig at det er hvert enkelt vare der skal ganges med 3,5 og ligges 15 til! (så skulle udregningen være inde i loopet) men afvisser ikke du har ret, at det er hvert enkelt række, så kan man gøre det i sql som du gør
tilgengæld kan jeg ikke lige se hvad antal_ialt laver i databasen, hvorfor spilde et felt på det, men der være en fornuftig forklaring, kender ikke databasen
Avatar billede mosskov Praktikant
10. september 2015 - 13:36 #5
Hej Michael jeg har lige prøvet den kode som foreslog
men fik denne fejl
"Could not get data: Operand should contain 1 column(s)"

men nu skal jeg køre når jeg kommer hjem igen i aften prøver
den kode fra Ronols
Avatar billede olsensweb.dk Ekspert
10. september 2015 - 15:27 #6
@mosskovmichaels sql
SELECT navn, adresse, telefon, mail,((antal_ialt * 3.5) + 15) AS antal_ialt FROM ringsalg

fejler ikke noget hvis man tester i phpmyadmin, kan være at collonne antal_ialt og alias antal_ialt giver problemer i PHP, så prøvat at lave
AS antal_ialt
om til
AS antal_ialt1

og ret selvføgelig i row også
fra
$row['antal_ialt']
til
$row['antal_ialt1']

men mangler der ikke en where betingelse ??, ellers får du listed samtlige poster i ringsalg tabbellen, også er vi igen inde i problematikken er det hvert enkelt der skal ganges med 3,5 og ligges 15 til ?? eller er det samlet
Avatar billede mosskov Praktikant
10. september 2015 - 16:59 #7
jeg vil gerne komme med forklaring (jeg er nybegynder med hjemmesider men har lavet en del databaser i access)

jeg laver en database i Joomla/Fabrik.
vore medlemmer i klubben skal gå ind på siden og bestille ringe til fugle.
jeg har forsøgt at lave kvitteringen i fabrik men dette kunne jeg ikke få til at virke så forsøger jeg med en side php side.

jeg har lavet et felt hvor man indtaster hvor mange ringe man ønsker ialt
og det er så det jeg gerne vil udregne beløbet som de skal betale.

i Fabrik kan jeg vælge den php-side som jeg laver og jeg tror kun den vise den sidste kunde.
håber det giver mening.
Avatar billede mosskov Praktikant
17. september 2015 - 19:17 #8
så har jeg selv løst mit problem jeg skrev således:

echo $rows["antal_ialt"]*3.50 + 15; ?>

så enkel kunne jeg lave det.
jeg lukke nu
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester