Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][JavaScript][PHP] Problem z pętla IF
Forum PHP.pl > Forum > Przedszkole
tobik200
Witam,

mam problem podczas tworzenia pętli if ($xname == 'Jani'), gdy występuje zmienna o wartości 'Jani' powinno wyświetlić się "yes",
ale wyświetlane jest "no" tak jak dla innych zmiennych ..

nie mam pojęcia co może być przyczyną i jak to rozwiązać ..

Z góry dziękuje za pomoc !




Kod
<!DOCTYPE html>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>
<body>

<div ng-app="myApp" ng-controller="namesCtrl">

<table border="1" width="100%">
<tr>
<th ng-click="orderByMe('name')">Name</th>
<th ng-click="orderByMe('country')">Country</th>
</tr>
<tr ng-repeat="x in names | orderBy:myOrderBy">
<td>
<?php
$xname = "{{x.name}}";
If($xname == 'Jani') {
echo "yes";
}
else {
echo "no";
}

?>
</td>
<td>{{x.country}}</td>
</tr>
</table>

</div>

<script>
angular.module('myApp', []).controller('namesCtrl', function($scope) {
    $scope.names = [
        {name:'Jani',country:'Norway'},
        {name:'Carl',country:'Sweden'},
        {name:'Margareth',country:'England'},
        {name:'Kai',country:'Norway'}
        ];
    $scope.orderByMe = function(x) {



        $scope.myOrderBy = x;
    }
});
</script>

</body>
</html>
Pyton_000
Przecież PHP odpala się po stronie serwera wpierw, a potem Angular po stronie przeglądarki. Resztę wydedukuj sam.
tobik200
Wszystko drukuje poprawnie tylko przy zastosowaniu pętli if ($xname == 'Jani') gdy zmienna ma wartość Jani nie drukuje "yes" tylko "no",

tak samo gdy wstawię do tablicy <b></b> echo drukuje mi <b>Jani</b> zamiast pogrubionego Jani

czy to jeszcze muszę konwertować do HTML i jaka funkcja tu potrzebna ?


Kod
$scope.names = [
        {name:'<b>Jani</b>',country:'Norway'},
        {name:'Jani',country:'Norway'},
        {name:'Carl',country:'Sweden'},
        {name:'Margareth',country:'England'},
        {name:'Kai',country:'Norway'}
        ];
Pyton_000
Widać z czytaniem też masz problem...
Przedstawię jaśniej:

  1. <?php
  2. $xname = "{{x.name}}";
  3. If($xname == 'Jani') {
  4. echo "yes";
  5. }
  6. else {
  7. echo "no";
  8. }
  9.  
  10. ?>


Oznacza:

  1. <?php
  2. If("{{x.name}}" == 'Jani') {
  3. echo "yes";
  4. }
  5. else {
  6. echo "no";
  7. }
  8.  
  9. ?>

tobik200
wiem że to oznacza ale to nie rozwiązuje problemu ..
Pyton_000
Skoro nie dociera do Ciebie to co piszę to cóż. Może ktoś będzie miał na tyle chęci i siły żeby się z Tobą użerać.
tobik200
ale czy ktoś Ci karze ? nie wszyscy są tacy "mądrzy" jak Ty i więdzą wszystko smile.gif

jeśli chcesz komuś coś wytłumaczyć i pomóc to zrób to a nie wytykaj kogoś wady

Dzięki za chęci smile.gif
Pyton_000
To napiszę łopatologicznie...

Do kodu PHP który wykonuje się NAJPIERW po stronie serwera wstawiasz zmienną z ANGULARA który wykonuje się PO STRONIE PRZEGLĄDARKI czyli PO wykonaniu kodu PHP.
tobik200
Dzięki !

czasem trzeba łopatologiczne przede wszystkim jak ktoś jest zielony ..

ogarnałem wystarczyło zastosować ng-style i działa biggrin.gif



Kod
<div ng-style="x.status == 'disable' ? {'background-image':'url(images/bad.png)', 'height':'12px', 'width':'12px', 'font-size' : '0px', 'margin-left':'10px'} : {'background-image':'url(images/ok.png)', 'height':'12px', 'width':'12px', 'font-size' : '0px', 'margin-left':'10px'}">{{ x.status }}</div>



To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.