Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

PHP - Wert wird leider als String und nicht als Zahl ausgegeben

Frage Entwicklung PHP

Mitglied: RolandAMS

RolandAMS (Level 1) - Jetzt verbinden

20.05.2007, aktualisiert 21.05.2007, 12040 Aufrufe, 8 Kommentare

namd

in der Mitte des Skripts bekomme ich bei -->echo "$rdawert"; eine Fehlermeldung:
01.
Catchable fatal error: Object of class stdClass could not be converted to string.
Weiß jemand wie ich $rdawert als Zahl ausgeben kann um damit ggf. noch weiterzurechnen?!?!
01.
echo "Textausgabe test.php funkioniert..."
02.
echo "inluding dbconnect.php:"
03.
include("dbconnect.php"); 
04.
$folgeglied=1; 
05.
while ($folgeglied<10) 
06.
07.
//Abfrage des Produktnamens   
08.
  $abfrage_name = "SELECT name FROM `produkttabelle` where id=$folgeglied;"
09.
  $ergebnis1 = mysql_query($abfrage_name); 
10.
  while($row = mysql_fetch_object($ergebnis1)) 
11.
12.
    echo "<br><br><h1>$folgeglied. "
13.
    echo $row->name;    //Ausgabe 
14.
15.
    echo "</h1>"
16.
//Abfrage des VitaminA-Gehaltes und deren Anteils bezüglich RDA 
17.
  $abfrage_rdawert = "SELECT bedarf_mg FROM `stofftabelle` where id=$folgeglied;"
18.
  $ergebnis_rdawert = mysql_query($abfrage_rdawert); 
19.
  $rdawert = mysql_fetch_object($ergebnis_rdawert); 
20.
  echo "$rdawert"
21.
   
22.
   
23.
  $abfrage_vit_a = "SELECT a, (a/($rdawert/100)) AS prozent_von_rda FROM `produkttabelle` where id=$folgeglied;"
24.
  $ergebnis2 = mysql_query($abfrage_vit_a); 
25.
  while($row = mysql_fetch_object($ergebnis2)) 
26.
27.
    echo "<br><br><b>Anteil an Vitamin A:</b>\n "
28.
    echo $row->a;        //Ausgabe 
29.
    echo "<br><br><b>Prozent RDA:</b>\n "
30.
    echo $row->prozent_von_rda;        //Ausgabe 
31.
32.
  $folgeglied++; 
33.
  }
Danke!
Roland
[Edit masterG]
Thread geschlossen, weil keine Antworten mehr gebraucht werden![/EDIT]
Mitglied: Dani
20.05.2007 um 23:32 Uhr
G' Abend!
Ich seh den Fehler in 1km Entfernung!

Du erzeugst ja ein Object!! Somit kannst du auch nur mit dem Objektoperator zugreifen.

Bisher:
01.
$rdawert = mysql_fetch_object($ergebnis_rdawert); 
02.
echo "$rdawert";
Soll:
01.
$rdawert = mysql_fetch_object($ergebnis_rdawert); 
02.
echo $row->bedarf_mg;
So müsste es nun gehen.


Gute Nacht
Dani
Bitte warten ..
Mitglied: RolandAMS
21.05.2007 um 00:18 Uhr
hab die änderung vorgenommen, aber er zeigt mir leider keinen wert für bedarf_mg an bzw. kann ich den inhalt nicht benutzen, um damit weiterzurechnen.

ich habe 10 produkte, eine reihe von stoffen, und das in 2 tabellen. ich habe das ja als whileschleife konstruiert. das skript geht jedes produkt durch und soll:
1. die allgemein täglich benötigte dosis an vitamin A ausgeben,
2. die anteilsmenge zb an vitamin A in 100g des produktes ausgeben, und
3. die prozentzahl ermitteln und ausgeben in wie fern 100g vom produkt die tagesdosis erfüllen. da liegt das problem. im skriptbeispiel steht die formel dafür: (a/(8/100)) /wobei hier 8mg die tagesdosis für vitamin a darstellt. wie kann ich es erreichen, dass er sich den wert 8, etc.. aus der stofftabelle raussucht?!

DANKE! das wäre eine super hilfe - wollte meinen ernährungsplan so auf die beine stellen =)
Bitte warten ..
Mitglied: Dani
21.05.2007 um 07:50 Uhr
Moin,
SELECT bedarf_mg FROM `stofftabelle` where id=$folgeglied;
Bist du sicher, dass das obige Statment auch etwas ausgibt?!


Gruß
Dani
Bitte warten ..
Mitglied: RolandAMS
21.05.2007 um 13:14 Uhr
da ich im phpskript $folgeglied als 1 definiert hab is das statement am ende äquivalent zu 1.

01.
SELECT bedarf_mg FROM `stofftabelle`WHERE id =1;
sql console gibt zurück: bedarf_mg = 0.8

da ist eigentlich kein problem an der stelle... ich hoffe du weißt weiteren rat oder bzw wie ich das ganze ähnlich aufziehen kann.

MFG
ro
Bitte warten ..
Mitglied: 36213
21.05.2007 um 13:49 Uhr
namd

in der Mitte des Skripts bekomme ich bei
-->echo "$rdawert"; eine
Fehlermeldung:
01.
> Catchable fatal error: Object of class 
02.
> stdClass could not be converted to string. 
03.
> 
Weiß jemand wie ich $rdawert als Zahl
ausgeben kann um damit ggf. noch
weiterzurechnen?!?!
01.
> echo "Textausgabe test.php 
02.
> funkioniert..."; 
03.
> echo "inluding dbconnect.php:"
04.
> include("dbconnect.php"); 
05.
> $folgeglied=1; 
06.
> while ($folgeglied<10) 
07.
>   { 
08.
> //Abfrage des Produktnamens   
09.
>   $abfrage_name = "SELECT name FROM 
10.
> `produkttabelle` where 
11.
> id=$folgeglied;"; 
12.
>   $ergebnis1 = mysql_query($abfrage_name); 
13.
>   while($row
14.
> mysql_fetch_object($ergebnis1)) 
15.
>     { 
16.
>     echo 
17.
> "<br><br><h1>$folgeglied
18.
> "; 
19.
>     echo $row->name;    //Ausgabe
Komisch, hier machst Du es richtig...
01.
>     } 
02.
>     echo "</h1>"; 
03.
> //Abfrage des VitaminA-Gehaltes und deren 
04.
> Anteils bezüglich RDA 
05.
>   $abfrage_rdawert = "SELECT bedarf_mg 
06.
> FROM `stofftabelle` where 
07.
> id=$folgeglied;"; 
08.
>   $ergebnis_rdawert = 
09.
> mysql_query($abfrage_rdawert); 
10.
>   $rdawert = 
11.
> mysql_fetch_object($ergebnis_rdawert); 
12.
>   echo "$rdawert";
Und hier flashc. $rdawert ist ein Objekt. Probier mal
var_dump($rdawert); aus, dann siehst Du Deinen Fe ler und wie Du ihn beseitigst.

Danke!
Roland

Bitte!
Bitte warten ..
Mitglied: RolandAMS
21.05.2007 um 14:48 Uhr
danke für die info. als fehlermeldung bekomme ich:

01.
object(stdClass)#1 (1) { ["bedarf_mg"]=>  string(3) "0.8" } 
$rdawert von 0.8 wird somit als string gespeichert. joa ich weiß - in der tabelle ist der wert aber als float eingefügt. gibt es da ne möglichkeit die abfrage so mittels php zu verfassen, dass ein numerischer wert in der variablen $rdawert gespeichert wird?!

danke.
ro
Bitte warten ..
Mitglied: 36213
21.05.2007 um 15:25 Uhr
danke für die info. als fehlermeldung
bekomme ich:

Das ist keine Fehlermeldung.

01.
object(stdClass)#1 (1) { 
02.
> ["bedarf_mg"]=>  string(3) 
03.
> "0.8" } 

$rdawert ist ein Objekt.
Dieses Objekt hat ein "Mitglied", nämlich "bedarf_mg". Diesem ist der Wert "0.8" zugeordnet.
Also schreibe echo $rdawert->bedarf_mg", und er wird 0.8 ausgeben.

Wenn Du damit rechnen willst empfehle ich die Umwandlung des Strings nach float, die im Handbuch ausführlich beschrieben ist.

$rdawert von 0.8 wird somit als string
gespeichert. joa ich weiß - in der
tabelle ist der wert aber als float
eingefügt. gibt es da ne
möglichkeit die abfrage so mittels php
zu verfassen, dass ein numerischer wert in
der variablen $rdawert gespeichert wird?!

danke.
ro
Bitte warten ..
Mitglied: RolandAMS
21.05.2007 um 19:12 Uhr
Dankeschön an alle habs geschafft!
Bitte warten ..
Ähnliche Inhalte
Neue Wissensbeiträge
Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(3)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(9)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Heiß diskutierte Inhalte
Exchange Server
Exchange 2016 Standard Server 2012 R2 Hetzner Mail (41)

Frage von Datsspeed zum Thema Exchange Server ...

Windows 7
gelöst Lokales Adminprofil defekt (25)

Frage von Yannosch zum Thema Windows 7 ...

Off Topic
gelöst Fachzeitschriften als E-Book oder hardcoded? (11)

Frage von KowaKowalski zum Thema Off Topic ...

Windows 10
Windows Store Apps ohne Windows Store installieren (10)

Frage von keefien zum Thema Windows 10 ...